Tag:

了解负面的前瞻

我正试图了解简单例子中的负向预测是如何工作的。 例如,请考虑以下正则expression式: a(?!b)c 我认为负面的预测匹配一个位置。 因此,在这种情况下,正则expression式匹配任何包含严​​格3个字符且不是abcstring。 但这不是真的,在这个演示中可以看到。 为什么?

RegExp匹配string不是以我的开头

对于PMD,我希望有一个规则,告诉我这些丑陋的variables,从我的开始。 这意味着我必须接受所有不以我开始的variables。 所以,我需要一个RegEx(re),其行为如下: re.match('myVar') == false re.match('manager') == true re.match('thisIsMyVar') == true re.match('myOtherVar') == false re.match('stuff') == true 我尝试了不同的(以后会列出,抱歉,现在不能访问),但还没有正常工作。

RegEx判断一个string是否不包含特定的字符

这个问题很容易。 我试图testing一个string是否不包含使用正则expression式的字符。 我认为这个expression的forms是“[^ x ]”,其中x是你不想出现的字符,但是这似乎不起作用。 例如, Regex.IsMatch("103","[^0]") 和 Regex.IsMatch("103&","[^&]") 两者都返回true(我会期待false)。 我开始使用"[^&]"并认为可能需要“逃避”,但似乎没有什么区别。 想法? 我认为这是小事。 另外,我正在使用.NET,所以记住这一点。 EDIT1: 我发现这个 ,但似乎没有回答我遇到的问题。 EDIT2: 我想回应凯文和乔尔的build议。 这些build议确实会更快,但是在这种情况下,我们并没有达到所需的灵活性,所以如果您通过searchfind了这个问题,那么一定要看看他们的答案是否符合您的需求。 在我的情况下,正则expression式传递给DataTablevalidation方法,该方法循环遍历每一行,并validation特定列中该行的内容是否与正在传入的RegEx相匹配。由于我将重复使用此方法对于正在validation的其他几个DataTable,我想: 使用正则expression式来启用最广泛的validation和 总是寻找一个积极的匹配(即而不是使用!Regex.IsMatch(cell,regexvariable),我想依靠总是能够使用Regex.IsMatch(cell,regexvariable),因为大多数的DataTables调用这个方法将使用积极的匹配而不是消极的。 希望有帮助。

负面看法正则expression式

我想匹配以“.htm”结尾的所有string,除非它以“foo.htm”结尾。 我通常体面的正则expression式,但负面的lookaheads让我难住。 为什么这不工作? /(?!foo)\.htm$/i.test("/foo.htm"); // returns true. I want false. 我应该使用什么呢? 我想我需要一个“负面看”的expression(如果JavaScript支持这样的事情,我知道它不)。

命名正则expression式组“(?P <组名> regexp)”:“P”代表什么?

在Python中, (?P<group_name>…) 语法允许通过名称引用匹配的string: >>> import re >>> match = re.search('(?P<name>.*) (?P<phone>.*)', 'John 123456') >>> match.group('name') 'John' “P”代表什么? 我在官方文档中找不到任何提示。 我很想知道如何帮助我的学生记住这个语法。 知道“P”代表什么(或可能代表)是有用的。

Python非贪婪的正则expression式

如何让一个python正则expression式像“(。*)”这样,因为“a(b)c(d)e”python匹配“b”而不是“b)c(d”? 我知道我可以使用“[^)]”而不是“。”,但我正在寻找一个更一般的解决scheme,使我的正则expression式更清洁。 有什么办法可以告诉python“嘿,尽快配对”?

。*之间的区别是什么? 和。*正则expression式?

我想使用正则expression式将一个string分成两部分。 该string格式如下: text to extract<number> 我一直使用(.*?)<和<(.*?)>工作正常,但读了一些正则expression式,我刚开始想知道为什么我需要? 在expression式中。 我只是通过这个网站find他们之后才这样做的,所以我不确定它们有什么不同。

贪婪与不愿意与拥有量词

我发现了这个关于正则expression式的优秀教程 ,虽然我直观地理解了“贪婪”,“不情愿”和“占有”量词的含义,但我的理解似乎存在一个严重的漏洞。 具体来说,在下面的例子中: Enter your regex: .*foo // greedy quantifier Enter input string to search: xfooxxxxxxfoo I found the text "xfooxxxxxxfoo" starting at index 0 and ending at index 13. Enter your regex: .*?foo // reluctant quantifier Enter input string to search: xfooxxxxxxfoo I found the text "xfoo" starting at index 0 and ending at […]

正则expression式匹配不包含单词的行吗?

我知道可以匹配一个单词,然后使用其他工具(例如grep -v )来反转匹配。 但是,我想知道是否有可能使用正则expression式来匹配不包含特定单词(例如hede)的行。 input: hoho hihi haha hede 码: grep "<Regex for 'doesn't contain hede'>" input 期望的输出: hoho hihi haha