我(在PHP)字符串列表:正則表達式匹配只有不與引號開始的字符串
A2C
BDR
DDV
「DDV
aaa
「aaa
什麼是RegEx表達式僅匹配不以引號開頭的字符串?在這個例子中有四個這樣的字符串。所以,我只需要匹配四個字符串(來計算它們)。對於這個列表我使用了一個循環,但我現在只需要RegEx。謝謝!
我試着用
[^"]([a-zA-Z0-9]*)*
,但它仍然匹配的所有字符串即使是那些開始引號。
我(在PHP)字符串列表:正則表達式匹配只有不與引號開始的字符串
A2C
BDR
DDV
「DDV
aaa
「aaa
什麼是RegEx表達式僅匹配不以引號開頭的字符串?在這個例子中有四個這樣的字符串。所以,我只需要匹配四個字符串(來計算它們)。對於這個列表我使用了一個循環,但我現在只需要RegEx。謝謝!
我試着用
[^"]([a-zA-Z0-9]*)*
,但它仍然匹配的所有字符串即使是那些開始引號。
你缺少字符串錨^
,這意味着如果它在任何地方里面出現表達式匹配字符串的開始。很顯然,序列中的「不含引號的任何內容,包括字符串結尾」出現在所有示例輸入中。
這個表達式將匹配你想要什麼:
^[^"]
它只是它的第一個字符是不是一個雙引號任何輸入相匹配。沒有必要打擾其他角色。
試試:
^[^"](.*)/gm
(如果不止一個字符串是變量。)
$strigs_arr = array();
foreach($strings as $str){
//$str = '"aaa';
preg_match('/^(?P<string>[^"].*)/',$str,$match);
$strigs_arr[] = $match['string'];
}
echo "<pre>";
print_r($strigs_arr);
我認爲它應該是/^[^"](.*)/m – Kannika 2013-02-21 11:55:27
'(。*)'有什麼想法?它是否需要?捕獲除了第一個*之外的所有字符在附加捕獲組中是否有用? – Jon 2013-02-21 13:30:21