正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。
Q&A
解決済
2回答
5116閲覧
総合スコア21
0グッド
0クリップ
投稿2019/10/10 13:28
0
以下の文字の9桁目がLだった場合1に変更したいのですが、どのように正規表現を指定してやればよいかわかりません。
対象文字列:19BAA23403
自分のほうでもいろいろ調べて試してみましたが、なかなかできません。。。 どなたか手助けをお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
2019/10/10 13:32
回答2件
ベストアンサー
正規表現するなら "^/{8}L" ですね。 次の python コードを研究してみてください。
r.py
python31import re 2 3data = ( 4 "1234567890", 5 "12345678L0", 6 "12345678L", 7 " L ", 8 " L" 9) 10 11for s in data: 12 print("[" + s + "]: " + str(re.match(r"^.{8}L", s))) 13 14print() 15for s in data: 16 print("[" + s + "]: " + str(s[8] == 'L'))
python3
1import re 2 3data = ( 4 "1234567890", 5 "12345678L0", 6 "12345678L", 7 " L ", 8 " L" 9) 10 11for s in data: 12 print("[" + s + "]: " + str(re.match(r"^.{8}L", s))) 13 14print() 15for s in data: 16 print("[" + s + "]: " + str(s[8] == 'L'))
実行例:
投稿2019/10/10 15:22
総合スコア22328
9文字目がLにマッチする正規表現は、^........Lです。 変更は正規表現の機能じゃなくて、なんらかのプログラミング言語かツールの機能です。
^........L
ただ、「9文字目がLかどうか」の判断なら、プログラミング言語が備える文字列処理関数で、文字列の9文字目を取り出してLと比較するのが簡単です。
L
投稿2019/10/10 13:54
総合スコア86459
回答へのコメント
2019/10/11 03:25
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
9桁目が特定の文字か判定する正規表現