更新:実際には、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
前もって感謝します。