匹配的正则表达式

时间:2016-01-22 10:19:33

标签: java regex

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

#app/models/crew_member.rb
class CrewMember < ActiveRecord::Base
   validates :firstname, :email, presence: true
end

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

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

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

1 个答案:

答案 0 :(得分:6)

您使用(...)capturing group)代替[...]character class)。使用字符类:

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

请参阅regex demo(请注意,此处大多数捕获组都是多余的,我将其删除。此外,必须转义.以匹配文字点。)

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

(A-Za-z0-9_)+匹配A-Za-z0-9_的1个或多个序列(请参阅demo)。

此外,在Java中,您可以使用\w[A-Za-z0-9_]shorten your regex

匹配
#+ +\w+\.sh +#+

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