正则表达式模式匹配

本文关键字:模式匹配 正则表达式 | 更新日期: 2023-09-27 18:31:57

嗨,我需要这样做。

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。 而且我需要用" ,<s>ctus<e>, "替换" ,ctus, " 如何使用正则表达式实现这一点。我在 c# 中需要这个。夏普。

提前谢谢。

正则表达式模式匹配

以下正则表达式匹配示例中列出的所有情况:

@"('bctu(?:''w+)?'w*'b)"

然后只需将匹配替换为@"<s>'1<e>"其中'1是对上述匹配项的反向引用。

您是否正在寻找第一个搜索模式的@"'bctu'b"("ctu"两侧都有单词边界,因此它匹配ctu但不匹配Actuallyctu's,ctus,)和",ctus,"(确切地说是字符串,ctus,,无论它可能落在单词中的哪个位置)作为第二个搜索模式? 要同时搜索这两个,您可以使用 @"('bctu'b|,ctus,)" .

顺便说一句

,在 C# 中,您可以使用@""表示法(逐字字符串)而不是 "" 来更轻松地编写正则表达式文本。 例如,要让正则表达式理解单词边界,它必须看到 'b,它可以表示为 @"'b""''b",而文字'"''''"@"''" 。 第一种更容易阅读,尤其是在更复杂的情况下。

如果这不能回答您的问题,请给出预期输入/输出的清晰示例。