我有以下示例文本:正則表達式 - 控制
There are 7 apples, 3 lemons.
我有一個軟件,它用正則表達式搜索,但兩次:一個是「蘋果」(作定語)和第二次爲「7」(作爲價值)。我的問題是:如果我搜索模式「檸檬」,它會發現「檸檬」,如果我搜索「\ D」,它會發現「7」,但我想要「3」。
我的問題是:我如何控制正則表達式引擎?
我有以下示例文本:正則表達式 - 控制
There are 7 apples, 3 lemons.
我有一個軟件,它用正則表達式搜索,但兩次:一個是「蘋果」(作定語)和第二次爲「7」(作爲價值)。我的問題是:如果我搜索模式「檸檬」,它會發現「檸檬」,如果我搜索「\ D」,它會發現「7」,但我想要「3」。
我的問題是:我如何控制正則表達式引擎?
如果你想與lemons
使用相關的數字這個模式:
/(\d+)\slemons/
如果你想與使用這種模式相關的數字:
/(\d+)\sapples/
顯然,這可以通過一個被DRYed起來程序,允許您輸入lemons
或部分。它可以採用輸入的模式,並將(\d+)\s
正則表達式添加到您正在搜索的文字文本中。我會把這部分留給你。
如果你想提取的話所有出現在他們附近的數字,你可以用這個表達式來分析你的非結構化數據...
/(\d+)\s(\w+)/g
...得到的東西,如:
\1 # 7
\2 # apples
\1 # 3
\2 # lemons
'((\ d +)(\ w +))',然後從每個匹配中獲取組值。 https://regex101.com/r/jL6pI9/1 – ThePerplexedOne