一般的に正規表現でn文字以下の文字列(日本語、ローマ字、数字、記号が入り混じった文字列)のみをヒットさせるにはどのように書けばいいのでしょうか。
例えば、「1あ3、 あa123、 上14sa」と3つあったとき、3文字以下の文字列のみ抽出したい場合、
.{, 3}
と書いたのですが上手く抽出できませんでした(「1あ3」のみヒットさせたいです)。
ちなみに、4文字以上の文字列は、
.{4, }
で抽出できました。
因みに、以下のサイトで正規表現のテストをしております。
https://regex101.com/
ご教示の程、何卒よろしくお願いいたします。
そのコードを書いてください。
コメントありがとうございます。
以下のサイトで正規表現のテストをしていて
.{, 3}と書いても上手くヒットしない状況です。
https://regex101.com/
解決によりクローズとのことですが、日本語を扱うならサロゲートペアの対応は大丈夫ですか?
「鯖好き」はマッチしても「????好き」は4文字扱いでマッチしないのでは?ご確認ください。
JavaScriptならuフラグ付けるだけですが他の言語は知りません。
コメントありがとうございます。
お恥ずかしながらサロゲートペアを初めて聞きました。
テストサイトで試したところ確かにマッチしませんでした。
テストサイトで上手く処理できないか考えてみます。
回答3件
あなたの回答
tips
プレビュー