Rubyの正規表現は特別な条件で特定の文字列に一致します

lexer regex ruby tokenize
Rubyの正規表現は特別な条件で特定の文字列に一致します

私は現在、正規表現の助けを借りてドキュメントをトークンに解析しようとしています。

現在、ドキュメント内のキーワードと一致させようとしています。 たとえば、次のドキュメントがあります。

Func test()
  Return blablaFuncblabla
EndFunc

一致する必要があるキーワードは、Func、Return、EndFuncです。

私は次の正規表現を思いつきました:(\ s | ^)(Func)(\ s | $)Funcキーワードに一致しますが、私が望むように正確に機能しません。空白も一致します!

空白をキャプチャせずに一致させるにはどうすればよいですか?

  0  0


ベストアンサー

(?:\s|^)(Func)(?:\s|$)

`?:`はグループをキャプチャしないようにします。

1


タイトルとURLをコピーしました