English 中文(简体)
如果在前不久出现某些单词, 丢弃 Regex 匹配
原标题:Discard regex match if certain word appears immediately before

我完全没有关于regex的经验, 所以如果这是一个简单的问题, 我道歉, 但我找不到任何答案 。 我试图匹配窗体 < code> [ 某些数字][ 某些字母] 的字符串, 如 < code> 123 Apples , 但是当它们被 < code > about (例如, < code> about 10 apples 不应该匹配) 之前, 我不想匹配它们 。

我尝试了使用 (? & lt;! about (d[,.d] *) ([a- zA- Z]+) ,但显然不起作用,因为它只是将匹配点移动在某种程度上(例如 约12个苹果 匹配为 2 apples )。我该怎么做才能解决这个问题?

最佳回答

我以前有过这样的问题,试试这个:

(?<!about )(d[,.d]*) ([a-zA-Z]+)

符合零字符字边界( 空格后为字母数字或反数) 。 它会拒绝将“ 123 苹果” 匹配为“ 23 苹果 ”, 因为“ 2” 之前没有单词边界 。

问题回答

您非常接近 : (? <! about d* (d, d*) . 添加 d/code> 到您的负面外观 。





相关问题
Uncommon regular expressions [closed]

Recently I discovered two amazing regular expression features: ?: and ?!. I was curious of other neat regex features. So maybe you would like to share some tricky regular expressions.

regex to trap img tag, both versions

I need to remove image tags from text, so both versions of the tag: <img src="" ... ></img> <img src="" ... />

C++, Boost regex, replace value function of matched value?

Specifically, I have an array of strings called val, and want to replace all instances of "%{n}%" in the input with val[n]. More generally, I want the replace value to be a function of the match ...

PowerShell -match operator and multiple groups

I have the following log entry that I am processing in PowerShell I m trying to extract all the activity names and durations using the -match operator but I am only getting one match group back. I m ...

Is it possible to negate a regular expression search?

I m building a lexical analysis engine in c#. For the most part it is done and works quite well. One of the features of my lexer is that it allows any user to input their own regular expressions. This ...

regex for four-digit numbers (or "default")

I need a regex for four-digit numbers separated by comma ("default" can also be a value). Examples: 6755 3452,8767,9865,8766,3454 7678,9876 1234,9867,6876,9865 default Note: "default" ...