嗨,我需要这样做。
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#中使用它。 CSHARP。
提前致谢。
答案 0 :(得分:0)
您是否正在寻找@"\bctu\b"
(“ctu”,双方都有字边界,因此它与ctu
匹配,但不匹配Actually
,ctu's
或{{1} })对于第一个搜索模式和,ctus,
(完全是字符串",ctus,"
,无论它在哪里可能落入一个单词)作为第二个搜索模式?要一次搜索这两个,您可以使用,ctus,
。
稍微说一下,在C#中,使用@"(\bctu\b|,ctus,)"
表示法(verbatim strings)代替@""
,可以更轻松地编写正则表达式文字。例如。为了让正则表达式理解单词边界,它必须看""
,可以表示为\b
或@"\b"
,文字"\\b"
是\
或"\\\\"
。第一个更容易阅读,特别是在更复杂的情况下。
如果这不能回答您的问题,请提供预期输入/输出的明确示例。
答案 1 :(得分:0)
以下正则表达式匹配示例中列出的所有案例:
@"(\bctu(?:'\w+)?\w*\b)"
然后只需将匹配替换为@"<s>\1<e>"
,其中\1
是上述匹配的反向引用。