[英]Extract substring using perl regex
如何使用Perl正则表达式提取子字符串以进行跟踪?
Input: firstString123456lastString
Output: firstString
Input: first$String 123456 last@String
Output: first$String
类似于
echo "firstString123456lastString" | sed -e "s|\([a-z]*\)[0-9].*|\1|"
通过sed
$ echo 'firstString123456lastString' | sed 's/^\([^0-9 ]*\).*/\1/'
firstString
$ echo 'first$String 123456 last@String' | sed 's/^\([^0-9 ]*\).*/\1/'
first$String
说明:
^
断言我们是开始。 [^0-9 ]*
否定的字符类,可匹配任何字符,但不匹配数字或零或零次以上的空格。 ([^0-9 ]*)
匹配的字符由组索引1捕获。 $ echo "firstString123456lastString" | perl -pe 's/^([a-zA-Z]*)\d.*/$1/'
firstString
$ echo 'first$String 123456 last@String' | perl -pe 's/^([^\d\s]*).*/$1/'
first$String
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.