プライベートコンストラクタを持つディレクトリ内のjavaファイルを識別できる単純なスクリプト式を記述しようとしています。私はいくつか運があったが、私はスクリプトがアクセス修飾子とコンストラクタ名の間に空白があることを認識するようにしたいが、スペースかnスペースかタブかnタブかどうかは気にしない。Rubyの正規表現で空白を扱う問題
私は試している使用する...
"private\s+"+object_name
が、+(1以上)は、修飾およびコンストラクタ名の間に2つのスペースを持つコンストラクタを見つけていません。
私は何かが不足していることを知っています。どんな助けでも大歓迎です。
ありがとうございました。それは場合に役立ちます。ここ
は完全なコードです...
!#/usr/bin/ruby
path = ARGV[0]
if path.nil?
puts "missing path argument"
exit
end
entries = Dir.entries(path)
entries.each do |file_name|
file_name = file_name.rstrip
if (file_name.end_with? "java")
text = File.read(path+file_name)
object_name = file_name.chomp(".java")
search_str = "private\s+"+object_name
matches = text.match(Regexp.escape(search_str))
if (!matches.nil? && matches.length > 0)
puts matches
end
end
end
私は一重引用符と二重引用符の違いを認識しませんでした。ありがとう。 –