* 直前の表現が0回以上繰り返し
aw*の正規表現を試してみます。
例えば、下記のin.txtがあったとします。
$ cat in.txt k ak awk awwk awwwk awwwwk
下記がサンプルコードになります。
$ cat sample.sh
#!/bin/sh
cat in.txt | awk '
{
match($0, /aw*/)
print substr($0, RSTART, RLENGTH)
}
'
下記が実行結果になります。
$ ./sample.sh a aw aww awww awwww
+ 直前の表現が1回以上繰り返し
aw+の正規表現を試してみます。
下記がサンプルコードになります。
$ cat sample2.sh
#!/bin/sh
cat in.txt | awk '
{
match($0, /aw+/)
print substr($0, RSTART, RLENGTH)
}
'
下記が実行結果になります。
$ ./sample2.sh aw aww awww awwww
? 直前の表現が0 or 1回マッチ
aw?の正規表現を試してみます。
下記がサンプルコードになります。
$ cat sample3.sh
#!/bin/sh
cat in.txt | awk '
{
match($0, /aw?/)
print substr($0, RSTART, RLENGTH)
}
'
下記が実行結果になります。
$ ./sample3.sh a aw aw aw aw
{n} 直前の表現がn回繰り返し
aw{2}の正規表現を試してみます。
下記がサンプルコードになります。
$ cat sample4.sh
#!/bin/sh
cat in.txt | awk '
{
match($0, /aw{2}/)
print substr($0, RSTART, RLENGTH)
}
'
下記が実行結果になります。
$ ./sample4.sh aww aww aww
{n,} 直前の表現がn回以上繰り返し
aw{2,}の正規表現を試してみます。
下記がサンプルコードになります。
$ cat sample5.sh
#!/bin/sh
cat in.txt | awk '
{
match($0, /aw{2,}/)
print substr($0, RSTART, RLENGTH)
}
'
下記が実行結果になります。
$ ./sample5.sh aww awww awwww
{n,m} 直前の表現がn~m回繰り返し
aw{1,3}の正規表現を試してみます。
下記がサンプルコードになります。
$ cat sample6.sh
#!/bin/sh
cat in.txt | awk '
{
match($0, /aw{1,3}/)
print substr($0, RSTART, RLENGTH)
}
'
下記が実行結果になります。
$ ./sample6.sh aw aww awww awww
