繁体   English   中英

PHP RegEx - 如何从字符串中提取匹配项?

[英]PHP RegEx - how do I extract matches from a string?

说我有以下字符串:

BlahBlah........1.000
Whatevah....2.000
Something......6.500

...也就是说,一些文字,后跟四个或更多点,后跟一个数字(可能有一个点作为分隔符),然后是换行符(Linux或Windows,我不知道这是否重要)。 它是一个更大的字符串的一部分。

如何将文本和数字提取到变量中? 更确切地说是一对值对(数组数组)。 我只是无法理解正常的表达式...... :(

使用这个正则表达式:

(?<word>\w+)\.+(?<number>\d+(\.\d+)?)

使用preg_match_all()

preg_match_all("/(?<word>\w+)\.+(?<number>\d+(\.\d+)?)/", $yourString, $theArrayYouWantToStoreMatchesInIt);

后4个点,你可以使用捕获任何这样

(?<word>\w+)\.{4,}(?<anything>.*)

以下内容还将捕获第一部分中包含空格的字符串:

(?<beforeDots>[^\.]+)\.{4,}(?<afterDots>.*)

将匹配文本限制为特定字符范围以使正则表达式更准确也是一个好主意:

(?<beforeDots>[a-zA-Z0-9 ]+)\.{4,}(?<afterDots>[a-zA-Z0-9\. ]+)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM