簡體   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