我可以使用什么正则表达式来查找简单的正则表达式
What Regular Expression Can I Use To Find Simple Regular Expressions
如果我有一个字符串,它是正则表达式的来源:
"For example, I have (.*) string with ('.d+) special bits (but this is just an aside)."
有没有办法提取正则表达式的特殊部分?
特别是,我对调用时会返回值的部分感兴趣string.match(expr);
正则表达式可能很复杂,但如果您使用 (['.'']([*a-z])'+?)
执行全局正则表达式,它将捕获您的各个字段,而不会根据您的请求包含括号。下面也放了这个小提琴中的演示代码。
var testString = 'For example, I have (.*) string with (.d+) special bits (but this is just an aside). (''w+)';
var regex = /(['.'']([*a-z])'+?)/gi;
var matches_array = testString.match(regex);
//Outputs the following: [".*", ".d+", "'w+"]
正则表达式的功能不足以识别匹配括号的语言。 (形式证明使用正则表达式和有限状态机的等价性,以及可能存在无限多个嵌套级别的事实。 因此,匹配每个(
后的第一个)
将使('d+('.d+)?)
返回('d+('.d+)
,而匹配每个(
之后的最后一)
将使('w+) ('w+)
匹配整个字符串。
正确的方法是使用递归(数学正则表达式不允许递归,但实际实现如 PCRE 允许(。 您还可以获取非嵌套括号的简单表达式。 只是要小心解析转义字符:要完全健壮,'(
和'''(
是特殊的,但''(
不是。
相关文章:
- 为什么正则表达式查找“;t〃;在“;乔治亚州”;使用Angular$sce
- 使用正则表达式查找字符串中的不匹配字符
- 使用正则表达式查找字符模式
- 什么'用这个正则表达式查找URL是错误的
- 正则表达式查找字符串并返回大括号之间的所有内容
- 如何使用正则表达式查找对象成员名称
- Javascript 正则表达式:查找所有 URL 优化
- 在Javascript中如何使用正则表达式查找单词
- JavaScript 正则表达式查找十进制值
- JavaScript 正则表达式查找与开始和结束模式匹配的所有子字符串
- 正则表达式:查找特定字符串,只要它出现在另一个特定字符串之前
- 如何创建正则表达式 查找 JS 文件(或 JSON)中的所有字符串
- 正则表达式:查找大写单词
- 正则表达式查找以文本而不是链接形式编写的 URL
- 使用正则表达式查找数字中的特定数字
- JavaScript正则表达式查找特定句子
- 正则表达式查找模式,返回子模式
- 我该如何在JavaScript数组中执行正则表达式查找uof值
- 用Javascript正则表达式查找>以及<
- Javascript正则表达式查找不以“”开头的单词;我的:"