正则表达式和变量

时间:2013-03-25 19:22:04

标签: regex

我是处理正则表达式的新手。虽然我理解了大部分基础知识,但我很好奇从正则表达式中提取变量的方法。我试过谷歌搜索但我每次都做不到。

我想要做的是从一行正则表达式中解析出任意数量的字符串单词。我的解析器未定义长度或一般sytax。每个单词之间的分隔符也是未知的。 Linux Bash脚本使用$ {variablename}

实施例: 用户定义的RegEx: “ [A-ZA-Z0-9] $ {变量1} * $ {变量2} ... ([0-9] +)_ $ {variable3}“

我希望用户定义我要解析的字符串的正则表达式。我希望他们设置哪些项目是我关心的变量。我可以稍后验证输入字符串是否匹配此正则表达式,然后将标记为$ {}的任何内容作为变量拉出。 之后,一旦我的程序收到上面的用户定义的正则表达式,它将开始采用字符串输入:

“_ hello12_world_randomjunk12345 $#!_ wide_123_96584_web” 此输入将匹配正则表达式,我将能够拉出: 世界变量1 变量2宽 web as variable3

我的实际问题:正则表达式是否有一般语法处理正则表达式中的变量而不是我上面写的$ {}? $ {}是一个bash脚本编写的东西,我可以在我的程序中创建它,如果必须的话,我只是想确保我没有重新发明轮子。

1 个答案:

答案 0 :(得分:0)

在RegEx中,您要提取的片段称为“组”,并通过用括号括起表达式的相应部分来识别。

从那里,您提取和使用这些值的方式将完全取决于您的语言/库,但搜索组应该为您提供所需的内容。