1

さまざまな目的で正規表現を検索すると、、、、、などの区切り文字を使用している人が/います。これらは何か違うことをしますか、それとも同じ効果がありますか?#!~

4

2 に答える 2

2

それらは何も違いはなく、正規表現を区切ります(必要な言語で)。

違いは、正規表現内のそのキャラクターの動作が変わることです。正規表現の区切り文字は追加の特殊文字になり、エスケープする必要があります(==>正規表現内で不要な区切り文字を選択してください!)。

補足:phpでは、+または|正規表現区切り文字として正規表現の特殊文字を使用することもできますが、これは、正規表現内でその文字が必要ない場合にのみ機能します(非推奨)。関連する回答

于 2012-05-25T06:06:16.223 に答える
1

一部の言語では区切り文字を選択できますが、他の言語では選択できません。

正規表現に現れるたびに、その区切り文字をエスケープする必要があります。式に含まれない区切り文字を選択すると、エスケープの必要性が減り、式が読みやすくなります。

/次の2つの正規表現は、最初の正規表現が区切り文字として使用され、2番目の正規表現が以下を使用することを除いて同じです#

/http:\/\/example\.com\/.*\/foo\//
#http://example\.com/.*/foo/#
于 2012-05-25T05:26:42.443 に答える