我找不到任何以前提出的与此类似的问题。我需要一个正则表达式来获取倒数第二个特殊字符之前的所有数据。
例如:
suite 1, street 1, zip city, country
Run Code Online (Sandbox Code Playgroud)
我只需要suite 1, street 1.
我知道如何使用最后一个特殊字符之前获取数据[^,]*$,但不使用倒数第二个字符。
您可以使用以下正则表达式,第一个捕获组将包含您所需的子字符串:
(.*)(?:,[^,]*){2}$
Run Code Online (Sandbox Code Playgroud)
演示: https: //regex101.com/r/AWpsL3/1
或者,如果您使用的工具支持捕获组,则可以使用以下带前瞻功能的正则表达式:
.*(?=(?:,[^,]*){2}$)
Run Code Online (Sandbox Code Playgroud)
演示: https: //regex101.com/r/AWpsL3/4