需要正则表达式匹配单个字符或单词,但不应匹配子字符串

时间:2017-05-12 15:03:57

标签: c# regex

我有以下示例文本:

我想要替换;:,.anda,{{1}的所有实例},an带有管道the符号。

所以输出应该是这样的:

我尝试使用以下正则表达式,但我没有得到一个匹配所有的通用正则表达式:

|

也尝试过:

"\/(^|\\W);($|\\W)\/",
"\/(^|\\W):($|\\W)\/",
"\/(^|\\W),($|\\W)\/",
"\/(^|\\W).($|\\W)\/",
"\/(^|\\W)and($|\\W)\/",
"\/(^|\\W)a($|\\W)\/",
"\/(^|\\W)an($|\\W)\/",
"\/(^|\\W)the($|\\W)\/",
"\/(^|\\W)said($|\\W)\/",

但是不起作用,请帮忙。请注意,搜索(?<=\s)(;.) (?<=\s)(:.) (?<=\s)(,.) (?<=\s)(..) (?<=\s)(an.) (?<=\s)(and.) 应与

部分匹配
  

a 发光

匹配

  

提取

。其他人也需要类似的行为。

1 个答案:

答案 0 :(得分:1)

虽然有一些含糊不清的案例,但使用下面的正则表达式可以匹配这些字符。小心单词边界和非单词边界元字符:

[;.,:]\B|\b(?:an?d?|the)\b

Live demo