[英]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.