如何使用正则表达式提取两个字符串之间的值?

Tat*_*tat 1 regex

这是演示字符串:

前值后

假设我知道我想要的值介于“之前”和“之后”之间,我想使用正则表达式提取“值”....

前909078375639355544后

假设我知道我想要的值介于“pervious90907”和“55544after”之间,我想使用正则表达式提取“83756393”......

提前谢谢。

Nic*_*ole 5

答案取决于两件事:

  • 如果您确切地知道该值由什么组成(如果您知道它将是数字等,它会更容易)。如果可以的话,答案就有点难了。
  • 如果您的系统默认为贪婪/非贪婪,它会影响您设置表达式的方式。我会假设它默认是贪婪的。

?如果它可以是任何东西(在将需要切换.*到ungreedy因为“ .*”也匹配“后”:

/before(.*?)After/
Run Code Online (Sandbox Code Playgroud)

如果你知道它是数字:

/before(\d*)After
Run Code Online (Sandbox Code Playgroud)

如果它可以是任何单词字符(0-9、az、AZ、_):

/before(\w*?)After
Run Code Online (Sandbox Code Playgroud)