这是演示字符串:
beforeValueAfter
假设我知道我想要的值是在“之前”和“之后”之间 我想使用正则表达式来取代“价值”....
pervious909078375639355544after
假设我知道我想要的值介于“pervious90907”和“55544after”之间 我想使用正则表达式来取代“83756393”....
提前thx。答案 0 :(得分:3)
答案取决于两件事:
如果它可以是任何内容(需要将?.*
切换为ungreedy,因为“.*
”也匹配“之后”:
/before(.*?)After/
如果您知道它是数字:
/before(\d*)After
如果它可以是任何单词字符(0-9,a-z,A-Z,_):
/before(\w*?)After
答案 1 :(得分:0)
试试这个正则表达式:
pervious90907(.*?)55544after
这将为您提供*?
和pervious90907
之间最短的字符串(请注意非贪婪的55544after
量词)。
答案 2 :(得分:0)
正则表达式应该是这样的:
previous([0-9]*)after
答案 3 :(得分:0)
bash-3.2$ echo pervious909078375639355544after | perl -ne 'print "$1\n" if /pervious90907(.*)55544after/' 83756393