Php 通过搜索数字/字符通过正则表达式拆分字符串
我怎样才能分开这根线Php 通过搜索数字/字符通过正则表达式拆分字符串,php,regex,Php,Regex,我怎样才能分开这根线 Any-word 3, with comma 48, 50 -- 51, 527 …放入任何带逗号的单词3和48,50--51527?第二部分总是一个数字;可选有多个数字(如本例中所示),可以用“,”和/或“--”分隔。第二部分也没有任何单词或字母(这与第一部分中的数字3不同) 我需要拆分字符串以检查第二部分是否匹配。如果是这样,我只想使用第一个匹配 再举几个字符串示例: Any-word 3, with comma 48, 50 -- 51, 527 Anything
Any-word 3, with comma 48, 50 -- 51, 527
…放入任何带逗号的单词3和48,50--51527
?第二部分总是一个数字;可选有多个数字(如本例中所示),可以用“,”和/或“--”分隔。第二部分也没有任何单词或字母(这与第一部分中的数字3不同)
我需要拆分字符串以检查第二部分是否匹配。如果是这样,我只想使用第一个匹配
再举几个字符串示例:
Any-word 3, with comma 48, 50 -- 51, 527
Anything 12
--Some thing 30-- 51, 1
123,
89
Just words
应按如下方式拆分:
Any-word 3, with comma|48, 50 -- 51, 527
Anything|12
--Some thing|30-- 51, 1
|123,
|89
Just words|
尝试使用
preg_match($re, $str, $match);
你可以试试这个式样
^(.*?) (?!.*[a-z])(.*)
^ # Start of string/line
( # Capturing Group (1)
. # Any character except line break
*? # (zero or more)(lazy)
) # End of # Capturing Group (1)
# " "
(?! # Negative Look-Ahead
. # Any character except line break
* # (zero or more)(greedy)
[a-z] # Character Class [a-z]
) # End of # Negative Look-Ahead
( # Capturing Group (2)
. # Any character except line break
* # (zero or more)(greedy)
) # End of # Capturing Group (2)