正则表达式 工作案例
目录
- 一. `(正常|異常)終了`
 - 二. `|` 和 `\` 的使用
 - 三. `(awt|qch|suica)への.*?要求`
 - 四. `メール(アドレス)?|mail`
 - 五. `決済(取消)?のトランザクションIDを払い出しました`
 - 六. `c2(h|k)[a-z]{2}\d{2}a`
 - 七. `^/.*?(?=:)`
 - 八. `(?<=(gz|log):)\d+(-\d+)?(?=\s)`
 - 九. `^\d+(-\d+)?(?=\s)`
 - 十. `(?<=\/)(\.20[2-3][0-9].{6})`
 - 十一. `(mpl|qch|ang|flv|pud|srp|trt).*?(?=_app)`
 - 十二. `去除重复行`
 
一. (正常|異常)終了
 
|:用来表示或():用来分组
異常終了
正常終了
まだ終了
 

二. | 和 \ 的使用
 
⏹\[ERROR\]|\[WARN\]|エラー|Exception
|:用来表示或\:用来转义
[ERROR]発生
[WARN]発生
エラー発生
Exception発生
 

三. (awt|qch|suica)への.*?要求
 
.*:表示任意数量的字符?:表示非贪婪模式
awtへの要求をしています。
qchへの非同期要求をしています。
suicaへのテスト要求をしています。
 

四. メール(アドレス)?|mail
 
(アドレス)?:表示アドレス为可选项
メール=1355@163.com
メールアドレス=1355@163.com
mail=1355@163.com
 

五. 決済(取消)?のトランザクションIDを払い出しました
 
(取消)?:表示取消为可选项
決済のトランザクションIDを払い出しました
決済取消のトランザクションIDを払い出しました
 

六. c2(h|k)[a-z]{2}\d{2}a
 
[a-z]{2}:2位数的小写英文字母\d{2}:2位数的数字
c2hak02a
c2kbt01a
c2hap09a
 

七. ^/.*?(?=:)
 
^/.*?:以/开头的任意位内容,其中?表示非贪婪模式(?=:):表示任意位内容只截止到:处,:在此处只是起到辅助匹配作用,并不匹配到结果中
/logback/c2hak02a/tomcat/current/logs/spl/.2024033109mpl_test1_app.log:03210429-47789	045
/logback/c2kbt01a/tomcat/current/logs/spl/.2024033109qch_test2_app.log.tar.gz:03210154-24389	569
/logback/c2hap09a/tomcat/current/logs/spl/.2024033109ang_bis01_app.log:06334561	478
 

八. (?<=(gz|log):)\d+(-\d+)?(?=\s)
 
\d+:任意位数字(-\d+)?:-47889这种带着-的数字是可选项(?<=(gz|log):):\d+(-\d+)?的前面是gz:或者是log:,只是起到辅助匹配作用,并不匹配到结果中(?=\s):\d+(-\d+)?的后面是空格,只是起到辅助匹配作用,并不匹配到结果中

九. ^\d+(-\d+)?(?=\s)
 
^\d+(-\d+)?:数字开头的内容,(-\d+)?是为了匹配带-的数字(?=\s):^\d+(-\d+)?的后面是空格,只是起到辅助匹配作用,并不匹配到结果中
2323	SEQIN mmm isuuePayId=5768awe uuid=woenoo; jmw_state=success method=paypay info=ppp
03210154-24389	SEQOUT COST=45726
2345	SEQIN mmm isuuePayId=34895ry uuid=;ljkler jmw_state=faile method=alipay info=ddd
03210154-28329	SEQOUT COST=34855
 

十. (?<=\/)(\.20[2-3][0-9].{6})
 
(\.20[2-3][0-9].{6}):用来匹配.年月日,.{6}表示匹配6位任意的内容,此处指代MMDD(?<=\/):表示.前面的/,只是起到辅助匹配作用,并不匹配到结果中

十一. (mpl|qch|ang|flv|pud|srp|trt).*?(?=_app)
 
- 表示匹配
mpl,qch,ang开头到_app为止的任意内容 .*?中的?表示非贪婪模式(?=_app):到_app为止的任意内容,只是起到辅助匹配作用,并不匹配到结果中

十二. 去除重复行
 
(^.+\n)\1:标记两行一模一样的内容(^.+\n)\1替换为\1,可以去除重复行

