正規表現メモ
正規表現の勉強から逃げてきた情弱だから常識しか書かない
行末の空白
\s\+$
vimで行末空白を消したいときは :%s/\s\+$//gc
と書けばよいのね
行頭から特定の文字(:)まで
^.*:
特定の文字(:)から行末まで
:.*$
AND(論理積)
/^(?=.*apple)(?=.*orange)/
これはapple → orangeの順番に出てこないと検索できないという理解でいいのかしら
abcで始まらない任意の文字列を抽出
/^(?!abc).*/
abcより前を抜き出す
/(.*)(?=abc)/
正規表現の*とワイルドカードの違い
Unixのシェル:
? → 任意の1文字
* → 長さ0文字以上の任意の文字列
正規表現:
. → 任意の1文字
* → 直前の表現が0回以上あること
表現 | 意味 |
---|---|
\s | tabなどを含む空白文字全般 |
. | 任意の1文字 |
* | 直前のパターンの0回以上の繰り返し |
+ | 直前のパターンの1回以上の繰り返し |
\? | 直前のパターンの0回または1回の繰り返し |
\$ | 行末 |
^ | 行頭 |
\ | |
/^(?=.*apple)(?=.*orange)/ | apple AND orange |
foo(?=bar) | 肯定的先読み 直後にbarがあるfoo(barは含まない)に一致する |
foo(?!=bar) | 否定的先読み 直後にbarがないfoo(barは含まない)に一致する |
(?<=bar)foo | 肯定的後読み 直前にbarがあるfoo(barは含まない)に一致する |
(?<!=bar)foo | 否定的後読み 直前にbarがないfoo(barは含まない)に一致する |
参考
Author And Source
この問題について(正規表現メモ), 我々は、より多くの情報をここで見つけました https://qiita.com/mimaun/items/32ee116be6859b36c1c5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .