我需要编写一个正则表达式来匹配以下模式:
fltr_desc_name
Run Code Online (Sandbox Code Playgroud)
那就是.."fltr"后跟一个下划线,后跟任意数字的下划线.
例如:我需要一个正则表达式来匹配以下内容:
fltr_desc_name
fltr_nameone_nametwo
fltr_level_name_desc
Run Code Online (Sandbox Code Playgroud)
我在"awk"中的"if"语句中使用它:对于ex:
awk '/Transformation/ { if ($4=="Filter" && $5=="fltr_*") print $4,$5 }' filename
Run Code Online (Sandbox Code Playgroud)
请帮我编写正则表达式并告诉我如何在"awk"命令中的"if"条件内使用正则表达式.谢谢.
awk '/Transformation/ && $4=="Filter" && $5~/^fltr_[[:alpha:]_]+/ { print $4,$5 }' filename
Run Code Online (Sandbox Code Playgroud)
你可以用
awk '/Transformation/ && $4=="Filter" && match($5, /^fltr_[A-Za-z_]+/) { print $4,$5 }' filename
Run Code Online (Sandbox Code Playgroud)
无需使用if语句,您可以按照上述使用多个匹配条件.match返回该正则表达式的匹配位置^fltr_[A-Za-z_]+中$5,或0,如果有没有.0的计算结果为false,其他任何内容都为true.