问题标签 [regex-negation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 正则表达式匹配不是特定子字符串的内容
我正在寻找一个正则表达式,它将匹配以一个子字符串开头且不以某个子字符串结尾的字符串。
例子:
应该匹配以“foo”开头且不以“bar”结尾的任何内容。我知道 [^...] 语法,但我找不到任何可以为字符串而不是单个字符执行此操作的内容。
我专门尝试为 Java 的正则表达式执行此操作,但我之前遇到过此问题,因此其他正则表达式引擎的答案也会很棒。
感谢@Kibbee 验证这也适用于 C#。
regex - 排除关键字集的正则表达式
我想要一个在遇到诸如“boon.ini”和“http”之类的词时会失败的表达式。目标是采用此表达式并能够为任何一组关键字构建。
.net - RegEx 判断字符串是否不包含特定字符
这次很简单的问题。
我正在尝试使用正则表达式测试字符串是否不包含字符。我认为表达式的形式是“[^ x ]”,其中x是您不想出现的字符,但这似乎不起作用。
例如,
和
两者都返回真(我希望假)。
我开始使用"[^&]"
并认为可能需要将 & 转义为 \&,但这似乎没有什么不同。
想法?我认为这是一件小事。
另外,我使用的是 .NET,所以请记住这一点。
编辑1:
我找到了这个,但它似乎没有回答我遇到的问题。
编辑2:
我想回应Kevin和Joel的建议。这些建议确实会更快,但在这种情况下它们并没有实现我需要的灵活性,所以如果你通过搜索找到了这个问题,一定要看看他们的答案是否符合你的需求。在我的例子中,正则表达式被传递给 DataTable 验证方法,该方法循环遍历每一行并验证特定列中该行的内容是否与传入的 RegEx 匹配。因为我将重用这个方法对于正在验证的其他几个数据表,我想:
- 使用 Regex 启用最广泛的验证,以及
- 始终寻找正匹配(即,而不是使用 !Regex.IsMatch(cell, regexvariable),我希望始终能够使用 Regex.IsMatch(cell, regexvariable),因为大多数调用此方法的 DataTables 将使用正匹配而不是负匹配。
希望这会有所帮助。
regex - 正则表达式匹配不包含单词的行
我知道可以匹配一个单词,然后使用其他工具(例如grep -v
)反转匹配项。但是,是否可以匹配不包含特定单词的行,例如hede
,使用正则表达式?
输入:
代码:
期望的输出:
regex - 正则表达式:通过排除匹配,没有前瞻 - 有可能吗?
在某些正则表达式风格中,不支持 [负] 零宽度断言(前瞻/后瞻)。
这使得声明排除非常困难(不可能?)。例如“每行没有“foo”的行”,像这样:
完全不使用环视能否实现相同的目标(暂时搁置复杂性和性能问题)?
java - 您将如何使用正则表达式来忽略包含特定子字符串的字符串?
我将如何使用否定的lookbehind(或任何其他方法)正则表达式来忽略包含特定子字符串的字符串?
我已经阅读了之前的两个 stackoverflow 问题:
java-regexp-for-file-filtering
regex-to-match-against-something-that-is-not-a-specific-substring
它们几乎是我想要的......我的问题是字符串没有以我想要忽略的结尾。如果这样做,这将不是问题。
我有一种感觉,这与环视是零宽度的事实有关,并且在第二次通过字符串时匹配...但是,我不太确定内部结构。
无论如何,如果有人愿意花时间解释一下,我将不胜感激。
这是我想忽略的输入字符串的示例:
192.168.1.10 - - [08/Feb/2009:16:33:54 -0800] “GET /FOO/BAR/HTTP/1.1”200 2246
这是我想保留以供进一步评估的输入字符串的示例:
192.168.1.10 - - [08/Feb/2009:16:33:54 -0800] “GET /FOO/BAR/content.js HTTP/1.1”200 2246
对我来说,关键是我想忽略任何在文档根默认页面之后的 HTTP GET。
以下是我的小测试工具和迄今为止我提出的最好的 RegEx。
regex - 不包含特定字符串的正则表达式
我有这样的东西
阿巴布卡布达
为了选择由a包裹的最小组,我有这个/a([^a]*)a/
,它工作得很好
但是我对由aa包裹的组有问题,我需要类似
/aa([^aa]*)aa/
的东西不起作用,而且我不能使用第一个 like /aa([^a]*)aa/
,因为它会在第一次出现时结束a,我不想要.
一般来说,有什么办法可以说不包含字符串,就像我可以说不包含字符一样[^a]
?
简单地说,我需要aa后跟除序列aa之外的任何字符,然后以aa结尾
regex - 删除除撇号 Regex 之外的标点符号
preg_replace ("/(\p{P})/", ' ', $str)
删除撇号,它不应该。请帮忙
regex - 如何获得正则表达式的逆?
假设我有一个正则表达式可以正常工作以查找文本文件中的所有 URL:
如果我想要的不是 URL 而是相反的 - 除了 URL 之外的所有其他文本 - 是否有一个简单的修改可以得到这个?
ruby - 正则表达式匹配 string1,除非前面有 string2
使用 Ruby,我如何使用单个正则表达式来匹配“xy y ay xy +y”中所有出现的“y”,但前面没有 x (y, ay, +y)?
/[^x]y/ 也匹配前面的字符,所以我需要一个替代...