簡體   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