0

更新:実際には、php は可変長の後読みをサポートしていません。このアプローチはphpでは不可能です。可変長の後読みは、「コンパイルに失敗しました:後読みアサーションは固定長ではありません」というエラーを返します。

私は次の正規表現を持っています(私はphpを使用しています):

/\d{2}\s\b(ans|year|years|sana|años|anos|sna)\b/i

次のようなパターンに一致します。

22 years
49 ans
98 anos

入力の前に特定の単語 (「since」、「depuis」など) がある場合、一致しないようにする必要があります。

それで :

I'm 22 years
I have 49 years

一致しますが、次のようになります。

Since 19 years
Depuis 10 ans

一致しません

私はこれを試しましたが、効果はありません:

/(?<!(depuis|since|monz))\d{2}\s\b(ans|year|years|sana|años|anos|sna)\b/i

前もって感謝します。

4

1 に答える 1