c# - 如何使用正则表达式忽略前面有特定字符串的字符串?

标签 c# regex

我已经打开了不区分大小写...

我想在除 watch?v=xxabcxxtumblr_asdfabcasdf 之外的任何地方匹配 abc

但是如果我对 watch?v=xxabcxx 使用 (watch\?v=[0-9a-zA-Z]){0}abc,它匹配,大概是因为引擎失败,直到它检查 abcxxx 是好的。

最佳答案

在正则表达式中称为负向后视(也称为前视,取决于您需要看的方向)。查看“ Positive and Negative Lookahead ”上的教程。

您可能还想检查“ Regular expression negative lookahead ”的问题和答案。

例如,看一下 (watch\?v=.*)(?<!xx)abc , 部分 (?<xx)abc可以读作 abc仅当前面的字母与 xx 不匹配时才匹配,其中 (?a)b是放置条件的格式 a申请前b .此外,符号 <往后看和感叹号!是否定条件。我使用了一个通用的正则表达式,但您可以明白这一点。

关于c# - 如何使用正则表达式忽略前面有特定字符串的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11498043/

相关文章:

c# - Xamarin.Forms 中的自定义控件从零开始

c# - 在 C# 中用较小的数组复制/填充大数组的最佳方法是什么?

c# - 在azure网站中将rdlc渲染为pdf

c# - EF Core 一对多还是多对多?用户<--> friend

c# - Azure 表存储 - 无法建立连接,因为目标计算机主动拒绝它 127.0.0.1 :10002

Java如何仅更改字段分隔符而不更改实际数据

regex - sed 同时删除单引号和双引号

regex - 替换文件中的文本+可选换行符

php - 如何在运行前检查 vsprintf 是否具有正确数量的参数

python - python 中的正则表达式使用 OR 表示单引号或双引号