正規表現ビルダで行頭空白をヒットさせたい

行頭空白を正規表現でヒットさせようと、正規表現ビルダで正規表現に「[1]+」を入力し、テスト用サンプルに行頭にスペースを入れたものを3行用意し試していますが、2行目以降の行頭空白がヒットしません。

先頭を指定する「^」を外すとすべての空白にヒットします。

ちなみに、同じ正規表現をサクラエディタで試すとヒットします。

どなたかこの現象の対応方法がわかる方、ご教授お願い致します。


  1. ↩︎

おい!

RegEx101では、大文字と小文字が区別されるため、一致では大文字と小文字が区別されません。

スペースを選択したい場合は、次のように移動する必要があります** \ s+**これによりスペースが選択されます

スペースを削除したい場合は、正規表現を使用する必要はありません。文字列操作を使用してスペースを削除するだけです。

1.置換:Variable.Replace(" ","")
2.削除:Variable.Remove(" ")
3.Variable.TrimStart-開始時にスペースを削除します
4.Variable.TrimEnd-最後のスペースを削除します
5.Variable.Trim-開始時と終了時のスペースを削除します

よろしく、
NaNi

こんにちは

Multilineオプションの問題かと思います。
正規表現Wizardでは上記オプションはサポートしていないので、実データで試してみてはと思います。

早速の回答ありがとうございます。

行頭のスペース削除はTrimを使うことで、希望の処理ができそうです。

追加で申し訳ありませんが、実は同じ問題として行頭のタブも削除したいと思っていますが、”[1]+”とやってもスペースと同じく2行目以降がヒットしません。

これについても、どなたかご教授いただければ幸いです。


  1. ¥t ↩︎

早速のご返答ありがとうございます。

Multilineオプションを指定し、実データでサンプル作成して試してみました。
思っていた動きになりました。
本当にありがとうございます。助かりました。

別の回答(Yoichi様)で解決することができました。ありがとうございました。

こんにちは

タブの件も解決でしょうか?おそらく以下でうまくいくのではと思います。

"^[^\S\r\n]+"

image

複数行の行頭のスペース・タブの両方Yoichi様の助言で解決いたしました。
ちなみに、"^[^\S]+"で複数行両方ヒットすることができました。
"^[\ \t]+"でもうまくいきました。
さらに行末も同様のことがしたかったので、流用させていただき、
解決できました。
ちなみに、"[^\S]+$"で両方ヒットすることができました。
"[\ \t]+$"ではうまくいきませんでしたが…。

色々とありがとうございました。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.