3

たとえば、文字列に疑問符が必要な場合の最善のアプローチは何ですか。

...[?]...

また

...\?...

例:

テキストはパターンと(ボットは明らかに)bla?blaの両方と一致しますが、一方を他方の上に使用する理由はありますか?bla[?]blabla\?blabla?bla

4

1 に答える 1

3

どちらか一方を優先する技術的な理由はありません。これらは同等の式です。文字クラスはバックスラッシュの入力を回避するためにのみ使用されるため、エスケープされたバージョンは「よりクリーン」です。

ただし、その理由は、入力時にスラッシュを二重にエスケープしないようにするためである可能性があります。javaのような言語では、エスケープされたバージョンのリテラルバージョンは次のようになります。

// in java you need to escape a backslash with another backslash :(
String regex = "...\\?..."; 

正規表現がどこから来たとしても同様の問題があり、より読みやすい可能性が[?]あります\\?

于 2012-08-14T17:48:10.153 に答える