1

さまざまな情報を持つさまざまな文字列がありますが、それらはすべて1つの共通の特徴を共有しています。それらには、リクエスターのユーザー名とその直後の括弧が含まれています。次のようなもの:"... paul [55] ..."直前に単語を抽出できる正規表現を作成しようとしています[dd]

これはこれまでのところです:"/(?P<user>\w+)\s\[\d\d\]/"しかし、これは文字列がユーザーで始まる場合にのみ機能しますが"paul [55] has logged in"、ケース、"user paul [55] has logged off"

私は何が欠けていますか?

4

1 に答える 1

3

ポジティブ先読みアサーションを使用してみてください:

(\w+)(?=\s?\[\d\d\])

この式は、オプションのスペースと角括弧で囲まれた2桁の10進数が後に続く場合にのみ、1つ以上の単語文字に一致します。

于 2012-05-21T02:19:51.003 に答える