我有一个字符串,其中包含汽车的注册号码,例如
1FX9JE - 2012 Audi A3 Ambition Sportback MY12 Stronic
Run Code Online (Sandbox Code Playgroud)
我想匹配除注册号码之外的所有内容,以及破折号之后的任何内容。
我想出的正则表达式是(php)
\s.[^-]*$
Run Code Online (Sandbox Code Playgroud)
我提出的初始正则表达式仅当字符串仅包含 1 个破折号时才可以匹配破折号后的任何内容。例如https://regex101.com/r/Jao8W0/1
但是,如果字符串有超过 1 个破折号。正则表达式不可用。例如: https: //regex101.com/r/Jao8W0/2
无论如何,我是否可以匹配第一个破折号之后的任何内容,即使字符串在第一个破折号之后包含额外的破折号。
谢谢
试试这个正则表达式:
^[^-\r\n]+-\s*\K.*$
Run Code Online (Sandbox Code Playgroud)
解释:
^- 断言字符串的开头[^-\r\n]+- 匹配 1+ 次出现的既不是换行符-也不是换行符的任何字符-\s*-- 匹配字符串中的第一个,后跟 0+ 空格\K- 忘记到目前为止匹配的所有内容.*- 匹配任何字符出现 0 次以上$- 断言字符串的结尾