我是使用正则表达式的新手。虽然我了解大部分基础知识,但我对从正则表达式中提取变量的方法感到好奇。我试过用谷歌搜索它,但每次都做不到。
我想做的是从一行正则表达式中解析出任意数量的字符串单词。我的解析器未定义长度或通用语法。每个单词之间的分隔符也是未知的。Linux Bash 脚本使用 ${variablename}
示例:用户定义的正则表达式:“ [a-zA-Z0-9] ${variable1} .* ${variable2} ... ([0-9]+)_${variable3}”
我希望用户定义我要解析的字符串的正则表达式。我希望他们设置哪些项目是我关心的变量。稍后我可以验证输入字符串是否与此正则表达式匹配,然后将标记为 ${} 的任何内容作为变量提取出来。稍后,一旦我的程序收到上面用户定义的正则表达式,它将开始接受字符串输入:
“_hello12_world_randomjunk12345$#!_wide_123_96584_web”这个输入将匹配正则表达式,我将能够拉出:world as variable1 wide as variable2 web as variable3
我的实际问题:正则表达式是否有一个通用语法来处理正则表达式中的变量,而不是我上面写的 ${}?${} 是一个 bash 脚本,如果需要,我可以在我的程序中创建它,我只是想确保我没有重新发明轮子。