[英]How to find abbreviations as words in a C# regular expression
我得到了一個字符串列表,可以在我的字符串中找到整個“單詞”。 通常,使用\\b
錨可以在大多數情況下使用,除非我嘗試將&字符作為單詞查找,或者由於\\b
在空格和&字符之間不匹配,因此縮寫后面有一個點,或經過一段時空之后。
例如找到這些字符串:
&
b&w
bpi
p.
我正在嘗試寫類似:
\b((&)|(b&w)|(bpi)|(p\.))\b
在測試字符串中:
my b&w and & and p. test.
我也嘗試使用\\s
檢查空白,但是我不想捕獲空白,而且我還無法弄清楚該怎么做。 然后,我還認為還需要檢查字符串的開頭和結尾。
嘗試在一組中使用所有字母,例如:
(^|\s+)(&|b&w|bpi|p\.)(\s+|$)
除了使用單詞邊界(\\ b),您還可以在(空格)或^開頭或$ end。行中使用環視斷言。
(?<=^|\s)([^\s]*)(?=\s|$)
工作正則表達式示例:
測試字符串:
my b&w and & and p. test.
火柴:
"my", "b&w", "and", "&", "and", "p.", "test."
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.