私は正規表現の初心者です。私は次の正規表現を持っています:
/(?:"\s*or\s*"?\d)|(?:\\x(?:23|27|3d))|(?:^.?"$)|(?:(?:^["\\]*(?:[\d"]+|[^"]+"))+\s*(?:n?and|x?or|not|\|\||\&\&)\s*[\w"[+&!@(),.-])|(?:[^\w\s]\w+\s*[|-]\s*"\s*\w)|(?:@\w+\s+(and|or)\s*["\d]+)|(?:@[\w-]+\s(and|or)\s*[^\w\s])|(?:[^\w\s:]\s*\d\W+[^\w\s]\s*".)|(?:\Winformation_schema|table_name\W)\
この正規表現をここで実行すると、非常にうまく機能します。しかし、preg_matchを使用して php スクリプトで実行すると、次のように表示されます
Warning: preg_match(): Compilation failed: unmatched parentheses at offset 129 in...
これらは、この正規表現が必要なパターンのいくつかの例です。
"\ 26" && [
"\ 26" && +
"\ 26" && &
"\ 26" && !
"\ 26" && @
"\ 26" && (
"\ 26" && )
正規表現の構造を変更したくありません。エラーなしで実行するためにPHP関数を知る必要があり、その結果、上記の例を見つけることができます。前もって感謝します。