[英]Regular Expression Pattern Matching
嗨,我需要這樣做。
Actually **ctu** is a good university but **ctu's** is not. There are many **,ctus,** present.
我想做的是,我想這樣替換字符串中的ctu。
Actually **<s>ctu<e>** is a good university but **<s>ctu's<e>** is not. There are many **,<s>ctus<e>,** present.
但是具有以下模式
**\\bctu*(?:['\\\\|""\\\\]*)\\w+\\b**
我得到的結果是:
A**<s>ctu<e>**ally **<s>ctu<e>** is a good university but **<s>ctu's<e>** is not. There are many **,ctus,** present.
我不想替換單詞里面的CTU實際上。 而且我還需要將" ,ctus, "
替換為" ,<s>ctus<e>, "
如何使用正則表達式實現這一點。 我在C#中需要這個。 尖銳的
提前致謝。
您是否在尋找@"\\bctu\\b"
(“ ctu”兩側都帶有單詞邊界,所以它與ctu
匹配,但與第一個搜索模式Actually
不匹配, Actually
是ctu's
或,ctus,
)和",ctus,"
(完全匹配)字符串,ctus,
,而不管它在單詞中的位置)作為第二個搜索模式? 要一次搜索這兩者,可以使用@"(\\bctu\\b|,ctus,)"
。
另外,在C#中,您可以使用@""
表示法( 逐字字符串 )代替""
來更輕松地編寫正則表達式文字。 例如,要使正則表達式理解單詞邊界,它必須看到\\b
,它可以表示為@"\\b"
或"\\\\b"
,而文字\\
是"\\\\\\\\"
或@"\\\\"
。 第一個更易於閱讀,尤其是在更復雜的情況下。
如果這不能回答您的問題,請給出一個預期輸入/輸出的清晰示例。
以下正則表達式匹配示例中列出的所有情況:
@"(\bctu(?:'\w+)?\w*\b)"
然后,將匹配項替換為@"<s>\\1<e>"
,其中\\1
是對上述匹配項的反向引用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.