[ 掲示板に戻る ]

記事No.9600に関するスレッドです

段落スタイルの正規表現について / ringo
どうにも上手くいかなくなってしまったので、質問させてください。

2回目に発生するタブのあとが4文字になる時に、文字スタイルをあてるという正規表現が上手くいきません。
自分なりにいろいろ試行錯誤しましたが

(?<=[\b\t{2}\b])([^\t\r\n]{4})(?=$)
この場合、1回目のタブのあとにかかってしまう

(?<=[^.+\t])(\t.{4})(?=$)
この場合、段落頭に文字があると1回目のタブのあとにかかってしまう、段落頭に文字がなければ上手くいく

となってしまいます。

何かヒントがあればご教授ください。
よろしくお願いします。

No.9600 2019/03/15(Fri) 11:43:31
Mozilla/5.0 (Linux; Android 7.1.2; NEO [Reloaded]) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.105 Mobile Safari/537.36

Re: 段落スタイルの正規表現について / (z-) URL
添付画像のような感じでしたら
^[^\t]*\t[^\t]+?\t\K[^\t\n\r]{4}
でいけました。

試された正規表現の(?=$)からして、2つめのタブのあとの数文字は段落末になるんでしょうか?
であれば、おしりに$をたして
^[^\t]*\t[^\t]+?\t\K[^\t\n\r]{4}$
でいけます。

No.9601 2019/03/15(Fri) 12:27:31
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8

Re: 段落スタイルの正規表現について / ringo
(z-)様
ありがとうございます!

教えていただいたままの正規表現はテキストボックスではマッチしたのですが、表セルだと段落の最後がヒットしなくて…
単語の終わりを入れたらヒットしたので

(?!^[^\t]*\t[^\t]+?\t\K)[^\t\n\r]{4}\b$

としたら思うとおりにいきました!
本当にありがとうございました!

No.9603 2019/03/15(Fri) 16:23:40
Mozilla/5.0 (Linux; Android 7.1.2; NEO [Reloaded]) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.105 Mobile Safari/537.36