问题标签 [character-class]
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.
regex - 如何打印 Perl 字符类?
今天早上我在进行代码审查,发现了一些错误的代码,但我不知道为什么。
这条线应该计算为1
and之间的十六进制字符C
,但我认为这条线不会那样做。问题不是匹配什么,而是匹配什么?我可以打印出字符类中的所有字符吗?像下面这样的东西?
唉,
regex - 某些主机不喜欢 .htaccess 正则表达式中的字符类?
我很少遇到这个问题,而且只在某些主机上。这是我的自定义框架的 .htaccess:
定义控制器、视图和参数的最后 3 行在某些主机上无法正常工作,其余所有工作正常,因此显然启用了 mod_rewrite。如果我将它们更改为此它可以工作,但这不是我需要的:
有任何想法吗?那些主机不支持 .htaccess 正则表达式中的字符类吗?
谢谢
regex - 从字符类中排除字符
有没有一种简单的方法来匹配一个类中的所有字符,除了一组字符?例如,如果在我可以使用 \w 匹配所有 unicode 单词字符集的语言中,有没有办法从匹配中排除下划线“_”之类的字符?
想到的唯一想法是在每个字符周围使用负前瞻/后视,但是当我实际上只想将一个字符与正匹配和负匹配进行匹配时,这似乎比必要的复杂。例如,如果 & 是 AND 运算符,我可以这样做......
ruby - Ruby regular expression utilizing OR within a character class
While going through the ruby-doc for regular expressions, I came across this example for implementing the && operator:
I understand that
would equate to
because the "^" denotes symbols that should be excluded from the regular expression.
However, I am wondering about why "z" is not also included? Why was the equivalent regular expression NOT:
I am very new to regular expressions, much less any specifics for regular expressions within Ruby, so any help is greatly appreciated!
regex - (相当于)“字符类中的反向引用”的一般方法?
在 Perl 正则表达式中,像\1
,\2
等表达式通常被解释为对先前捕获的组的“反向引用”,但当 , 等出现在字符类中时则\1
不然\2
。在后一种情况下, the\
被视为转义字符(因此\1
只是1
等)。
因此,如果(例如)想要匹配一个字符串(长度大于 1),该字符串的第一个字符与其最后一个字符匹配,但没有出现在字符串中的任何其他位置,则以下正则表达式将不会:
不起作用,因为它匹配(例如)字符串'a1a2a'
:
我通常可以设法找到一些解决方法1,但它总是针对特定问题,并且通常比我可以在字符类中使用反向引用时要复杂得多。
是否有一个通用的(并且希望是简单的)解决方法?
1例如,对于上面示例中的问题,我会使用类似
...我已经用[^\1]*
更令人生畏的否定前瞻断言替换了早期正则表达式中相当简单的(虽然,唉,不正确的)子表达式(?!.*\1.+\z)
。这个断言基本上是说“如果\1
出现在这一点之外的任何地方(除了最后一个位置),就放弃。” 顺便说一句,我给出这个解决方案只是为了说明我在问题中提到的那种解决方法。我并不认为这是一个特别好的。
regex - Cygwin 正则表达式速记字符类无法匹配
我有一个文件
如果我匹配[0-9]
然后我得到预期
但是,如果我尝试匹配数字字符类,我会得到意想不到的结果
无论我认为我尝试哪种组合方式,这种情况都会继续
有谁知道我做错了什么以及如何让 Character Classed 在 cygwin sed 中工作
更新
更新 2
regex - 在正则表达式中重用字符类
为了使正则表达式更简短,是否有一种简写方式来引用同一正则表达式中较早出现的字符类?
例子
有没有办法缩短以下内容:
[acegikmoqstz@#&].*[acegikmoqstz@#&].*[acegikmoqstz@#&]
python - python:字符类中的方形后退
我正在尝试在 python 中匹配方括号(使用字符类)。但是下面的代码不成功。有谁知道正确的方法是什么?
regex - `$unsafe_chars` arg 到 `HTML::Entities::encode_entities` 的默认正则表达式字符类是什么?
根据HTML::Entities
文档,第二个参数是encode_entities
:
不安全字符是使用正则表达式字符类语法(您在正则表达式的括号中找到的)指定的。
要编码的默认字符集是控制字符、高位字符以及 <、&、>、' 和 " 字符。
但是,该页面没有提供默认集的等效参数的示例。我想对不安全的字符集进行细微调整,而不会倒退。
什么正则表达式字符类相当于«控制字符、高位字符以及我可以用作起点的 <、&、>、' 和 "»?
regex - 为什么字符类比交替更快?
似乎使用字符类比在示例中的交替更快:
[abc]
vs(a|b|c)
我听说它被推荐,并通过一个简单的测试使用Time::HiRes
我验证了它(慢了大约 10 倍)。
在捕获括号产生影响的情况下使用(?:a|b|c)
也不会改变结果。
但我不明白为什么。我认为这是因为回溯,但我在每个位置看到它的方式有 3 个字符比较,所以我不确定回溯如何影响交替。这是实施的交替性质的结果吗?