我試圖在我的顫振應用程式上撰寫正則運算式。我有這段文字:
@rtt tty tr@fh @rggg
我只想拆分@rtt , @rggg,所以我添加了這個正則運算式模式:^@(\S ).
但是這種模式只是拆分了第一個匹配項:@rtt. https://regex101.com/r/p2K9Yy/1
如何撰寫模式來拆分所有匹配項?
uj5u.com熱心網友回復:
您可以使用
(?<!\S)@(\S )
\B@(\S )
否定的(?<!\S)lookbehind需要字串的開頭或緊鄰當前位置左側的空格,而\Bbefore@需要字串的開頭或非單詞字符緊接出現在之前。
請參閱正則運算式演示 #1和正則運算式演示 #2。
在 Dart 中,您可以使用
String x ="@rtt tty tr@fh @rggg";
RegExp rx = new RegExp(r'\B@(\S )');
var values = rx.allMatches(x).map((z) => z.group(1)).toList();
print(values); // => [rtt, rggg]
var values2 = rx.allMatches(x).map((z) => z.group(0)).toList();
print(values2); // => [@rtt, @rggg]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/421801.html
標籤:
上一篇:在顫振中創建一個全域浮動按鈕
