私はこのようなシナリオを持っています:
a) word => capture "word"
b) word_and_digit_90 => capture "word_and_digit" and "90"
c) word_90 => capture "word" and 90
私はこのような正規表現を持っています。これはケース a) と c) には適していますが、b) には失敗します。
/([a-z]+)(?:_(\d+)){0,1}/i
誰かがa)、b)、c)の解決策を提案してくれたら幸いです
編集
推奨される解決策の1つは次のとおりです。
/([a-z]+(?:_[a-z]+){0,})(?:_(\d+)){0,1}/i
誰かが良い代替案を提案してくれたらいいのに