Regex 正则表达式:匹配除指定单词以外的单词

Regex 正则表达式:匹配除指定单词以外的单词,regex,Regex,如何使用正则表达式匹配任何单词而不显示指定的单词 我想去掉“你”这个词 我有一些词,例如: you eat you handsome you die you will you lie and others 所以,这个程序的结果是: eat handsome die will lie 使用单词边界和消极前瞻: \b(?!you\b)\w+\b 使用单词边界和消极前瞻: \b(?!you\b)\w+\b /you(.*)/ 匹配组将是除开始时的you之外的所有内容。/you(.*)/ 匹配的

如何使用正则表达式匹配任何单词而不显示指定的单词

我想去掉“你”这个词

我有一些词,例如:

you eat
you handsome
you die
you will
you lie
and others
所以,这个程序的结果是:

eat
handsome
die
will
lie

使用单词边界和消极前瞻:

\b(?!you\b)\w+\b

使用单词边界和消极前瞻:

\b(?!you\b)\w+\b
/you(.*)/

匹配组将是除开始时的you之外的所有内容。

/you(.*)/

匹配的组将是除开始时的“您”之外的所有组。

尝试以下操作:

String sourcestring = "source string to match with pattern";
Regex re = new Regex(@"^you (.*)/$",RegexOptions.Multiline |
                                    RegexOptions.Singleline);
MatchCollection mc = re.Matches(sourcestring);
int mIdx=0;
foreach (Match m in mc)
{
   for (int gIdx = 0; gIdx < m.Groups.Count; gIdx++)
   {
       Console.WriteLine("[{0}][{1}] = {2}", mIdx, 
                         re.GetGroupNames()[gIdx], 
                         m.Groups[gIdx].Value);
   }
   mIdx++;
}
试试这个:

String sourcestring = "source string to match with pattern";
Regex re = new Regex(@"^you (.*)/$",RegexOptions.Multiline |
                                    RegexOptions.Singleline);
MatchCollection mc = re.Matches(sourcestring);
int mIdx=0;
foreach (Match m in mc)
{
   for (int gIdx = 0; gIdx < m.Groups.Count; gIdx++)
   {
       Console.WriteLine("[{0}][{1}] = {2}", mIdx, 
                         re.GetGroupNames()[gIdx], 
                         m.Groups[gIdx].Value);
   }
   mIdx++;
}

如果要使用正则表达式,则如果将其替换为matcher group$2,则此操作将有效:

/(you (\w+))|(\w+ \w+)/g

如果您想使用正则表达式,那么如果您将其替换为matcher group$2,则该操作将有效:

/(you (\w+))|(\w+ \w+)/g

PCRE方法 如果您使用(与perl兼容的正则表达式),您可以像下面这样利用跳过/失败标记:

you(*SKIP)(*FAIL)|\b(\w+)\b

然后,您是否可以访问捕获组:

MATCH 1
1.  [4-7]   `eat`
MATCH 2
1.  [12-20] `handsome`
MATCH 3
1.  [25-28] `die`
MATCH 4
1.  [33-37] `will`
MATCH 5
1.  [42-45] `lie`
MATCH 6
1.  [46-49] `and`
MATCH 7
1.  [50-56] `others`
引用一段

PCRE是与Perl兼容的正则表达式的缩写。就是这个名字 一个由Phillip Hazel用C编写的开源库。图书馆 与大量C编译器和操作系统兼容 系统。许多人已经从PCRE中派生出了库来实现它 与其他编程语言兼容。正则表达式功能 包含在PHP、Delphi和R中,Xojo(REALbasic)都基于 在PCRE上。该库还包括在许多Linux发行版中,如 共享的.so库和.h头文件

丢弃技术方法 另一方面,如果您不使用pcre
regex,那么您可以使用一种优秀的regex技术(在我看来是最好的),通常称为discard技术。它包括使用链匹配您不想要的所有模式,并在链的末尾使用您感兴趣的模式并捕获它:

discard patt1 | discard patt2 | discard pattN |(grab this!)
对于您的情况,您可以使用:

you|\b(\w+)\b
 ^       ^--- Capture this    
 +-- Discard 'you'
PCRE方法 如果您使用(与perl兼容的正则表达式),您可以像下面这样利用跳过/失败标记:

you(*SKIP)(*FAIL)|\b(\w+)\b

然后,您是否可以访问捕获组:

MATCH 1
1.  [4-7]   `eat`
MATCH 2
1.  [12-20] `handsome`
MATCH 3
1.  [25-28] `die`
MATCH 4
1.  [33-37] `will`
MATCH 5
1.  [42-45] `lie`
MATCH 6
1.  [46-49] `and`
MATCH 7
1.  [50-56] `others`
引用一段

PCRE是与Perl兼容的正则表达式的缩写。就是这个名字 一个由Phillip Hazel用C编写的开源库。图书馆 与大量C编译器和操作系统兼容 系统。许多人已经从PCRE中派生出了库来实现它 与其他编程语言兼容。正则表达式功能 包含在PHP、Delphi和R中,Xojo(REALbasic)都基于 在PCRE上。该库还包括在许多Linux发行版中,如 共享的.so库和.h头文件

丢弃技术方法 另一方面,如果您不使用pcre
regex,那么您可以使用一种优秀的regex技术(在我看来是最好的),通常称为discard技术。它包括使用链匹配您不想要的所有模式,并在链的末尾使用您感兴趣的模式并捕获它:

discard patt1 | discard patt2 | discard pattN |(grab this!)
对于您的情况,您可以使用:

you|\b(\w+)\b
 ^       ^--- Capture this    
 +-- Discard 'you'

当这个问题变成这样的时候怎么办

are you serious ?
are you ?
you are greatfull
结果:

are serious ?
are ?
are greatefull

当这个问题变成这样的时候怎么办

are you serious ?
are you ?
you are greatfull
结果:

are serious ?
are ?
are greatefull

你在运行哪个语言/工具?你在运行哪个语言/工具?你没有输入开始符号,所以它可以在任何地方。你没有输入开始符号,所以它可以在任何地方。我想你的意思是:
var result=word.Replace(“你”,”)
但它可能会取代合法的输入,比如
你的
但它可能会取代合法的输入,比如
您的