我有四种类型的字符串,如下所示。区别在于,(23)
和(15)
这两个数字可能存在于字符串中,或者不存在。
(23) Abc 11 (15) Krtss 14 (25:05 IN 2ND)
Abc 11 (15) Krtss 14 (25:05 IN 2ND)
(23) Abc 11 Krtss 14 (25:05 IN 2ND)
Abc 11 Krtss 14 (25:05 IN 2ND)
文字Abc
和Krtss
可以是任意两个名字。这些名称甚至可能包含空格或连字符。
我需要:
此处Abc
和Krtss
是两个名称,也可能包含空格和连字符。
如果无法使用单个正则表达式,请给我一个小的PHP代码片段以获得所需的输出。
答案 0 :(得分:2)
如果您想要的只是获得这两个名称的简单答案,那么请执行以下操作:
/.+?(\w[\w\s-]*) \d+.*? ([\w\s-]+) \d+ \(/
请注意,对于名字我强制以字母开头,以避免在第一个带括号的数字之后意外占用空格(如果存在)。如果这不是问题,你可以使parens中的正则表达式的第一部分与第二部分相同。