簡體   English   中英

正則表達式模式匹配

[英]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不匹配, Actuallyctu'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.

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