如何在文件中找到这样的行
#app/models/crew_member.rb
class CrewMember < ActiveRecord::Base
validates :firstname, :email, presence: true
end
我尝试了以下正则表达式,但它不起作用
######## this_is_a_line.sh ########
但这似乎不起作用。任何人都可以让我知道什么是错的?
答案 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 +#+";
。