繁体   English   中英

匹配的正则表达式

[英]Regular expression for match

如何在文件中找到这样的行

########     this_is_a_line.sh     ######## 

我尝试了下面的正则表达式,但它不起作用

(#)+( )+(A-Za-z0-9_)+(.sh)( )+(#)+ 

但这似乎不起作用。 任何人都可以让我知道什么是错的?

您使用(...)捕获组 )而不是[...]字符类 )。 使用字符类:

#+ +[A-Za-z0-9_]+\.sh +#+
    ^^^^^^^^^^^^^

正则表达式演示 (注意最捕获组是多余的这里,和我删除它们。此外, .必须逃到匹配一个点。)

[A-Za-z0-9_]+匹配1个或多个字母,数字或_

(A-Za-z0-9_)+匹配A-Za-z0-9_A-Za-z0-9_或多个序列 (参见演示 )。

此外,在Java中,您可以使用\\w匹配[A-Za-z0-9_]并将正则表达式缩短

#+ +\w+\.sh +#+

不要忘记你需要在Java中的模式字符串中将每个\\加倍( String pattern = "#+ +\\\\w+\\\\.sh +#+"; )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM