-1

このような文字列があり、正規表現の結果としてabc+def(ghi)+jkl取得したい。{abc,ghi,jkl}これまでのところ私は見つけました:[a-z]+(?!\\()しかし、それは を返します{abc,de,ghi,jkl}。適切な正規表現の書き方を知っている人はいますか?
例:

var + var_s => { var, var_s }

var + method(arg) + var_s => { var, arg, var_s }

string * string_s + method_name(arg,arg_s) => { string, string_s, arg, arg_s }

var + 2 * ( 3 + 何か ) +count( 3, 性別 ) => {変数、何か、性別}

(「az Az _」で構成されているが、 charで終わっていないすべての文字列を取得する必要があります。Strings: (method(, method_name(, count(のため、省略されるべきです。

4

3 に答える 3

0

http://msdn.microsoft.com/en-us/library/az24scfc.aspxで解決策を見つけました:

\ b [a-zA-Z _] +(?!\()\ b

于 2013-03-13T07:58:35.707 に答える
0
if (preg_match('/(\w+)/i', $subject, $regs)) {
    $result = $regs[0];
} else {
    $result = "";
}

(\w+)

オプション: 大文字と小文字を区別しない

以下の正規表現に一致し、その一致を後方参照番号 1 «(\w+)» にキャプチャします。

「単語文字」 (文字、数字、およびアンダースコア) である単一の文字に一致 «\w+»

1回から無制限の間、何度でも、必要に応じてお返しします(貪欲)«+»

(regexbuddy はあなたの友達です!)

于 2013-03-11T14:48:45.567 に答える