是否可以扩展正则表达式元字符的范围
Is it possible to extend the range of a regex meta character?
我正在使用js(javascript)正则表达式,但我想答案适用于某些形式的所有正则表达式。
我只是想知道是否有可能做到这一点:/''w+[更多字符]/g
(请忽略不正确的表达,仅供说明)
还是我们被元字符的意义锁定了,如果我们要容纳更多的字符,我们就必须写出整个范围结构,即[a-Z…更多的字符]?
由于这是一个是/否的问题,我希望能举例说明这个问题对未来的帮助有任何用处。
谢谢。
您可以创建自己的字符类,如下所示:
/['wйцукенгшщз]+/g
你不仅可以通过"z"捕捉到"a"、"b",还可以捕捉到西里尔字母"й"、"ц"等。
示例(此处,最后一个"a"为拉丁文,其余为西里尔文):
var re = /['wа-яА-ЯёЁ]+/;
var str = 'Славa';
var m;
if ((m = re.exec(str)) !== null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
alert(m[0]);
}
您不能更改'w
的覆盖范围,但您可以在另一个类中使用它。
例如,['wéà]
是[a-zA-Z0-9_éà]
的快捷方式。
答案是肯定的,例如:
['w'$'€]
将匹配''w+两个额外的字符$和€。这相当于:
[a-zA-Z0-9_'$'€]
相关文章:
- 从指定范围创建字符数组
- JavaScript Unicode Regex - 字符类中的顺序范围
- Regex-用只匹配数字的量词匹配字符范围
- 正则表达式表示用连字符分隔的浮点范围(用于年份和月份)
- Javascript 正则表达式字符范围 A-z 匹配插入符号 (“^”)
- 如何仅允许特定打印范围的按键事件中的字符
- 接受的正则表达式:字母、数字和一些长度范围的次要字符
- 使用 Javascript REGEX 阻止特定范围的 ASCII 字符
- 正在禁用输入字段中的Unicode字符范围
- 如何在contenteditable中获取介于@和插入符号之间的字符范围
- 如何获取字符范围
- 跳过范围内的字符
- 如何在js中验证字符串只包含来自多个unicode范围的字符
- javascript中字符类的范围无序
- 具有字符转义的字符范围
- 删除javascript中不同范围内的Unicode字符
- 从Javascript的字符范围中检测unicode字符(汉字)
- 客户端验证,包括unicode字符范围
- Rangy:我可以在恢复多个字符范围以突出显示时提高性能吗?
- 从字符串Javascript中删除字符范围