0

@記号で終わる文字のパターンを、その直後のサブワードに置き換える必要があるタスクがあります。したがって、presymbol@postsymbolたとえば、置換は を生成しpostsymbolます。

現在、このパターン'/(^|\s)@([a-z0-9_]+)/'を使用して置換を行っていますが、テスターから、@ の前に " を付けると置換が失敗するというフィードバックがありました。

このパターンを修正して正しく出力するにはどうすればよいですか。に似た何か'/(^|\s)(@|"@)([a-z0-9_]+)/'

4

1 に答える 1

1
/(^|\s)(@|"@)([a-z0-9_]+)/

新しい一致グループを追加すると、 は に$2なり$3ます。

あなたがすべきことは、単に"オプションにすることです:

...."?@.... 

または、非キャプチャ一致グループを使用します。

....(?:@|"@)....

または、別の選択肢として最初のグループに入れることもできます。

....(^|\s|")....
于 2013-03-17T23:01:06.863 に答える