簡體   English   中英

如何在C#正則表達式中以單詞形式找到縮寫

[英]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|$)

工作正則表達式示例:

http://regex101.com/r/rJ0wU4

測試字符串:

my b&w and & and p. test.

火柴:

"my", "b&w", "and", "&", "and", "p.", "test."

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM