さまざまな情報を持つさまざまな文字列がありますが、それらはすべて1つの共通の特徴を共有しています。それらには、リクエスターのユーザー名とその直後の括弧が含まれています。次のようなもの:"... paul [55] ..."
直前に単語を抽出できる正規表現を作成しようとしています[dd]
これはこれまでのところです:"/(?P<user>\w+)\s\[\d\d\]/"
しかし、これは文字列がユーザーで始まる場合にのみ機能しますが"paul [55] has logged in"
、ケース、"user paul [55] has logged off"
私は何が欠けていますか?
1569 次
1 に答える
3
ポジティブ先読みアサーションを使用してみてください:
(\w+)(?=\s?\[\d\d\])
この式は、オプションのスペースと角括弧で囲まれた2桁の10進数が後に続く場合にのみ、1つ以上の単語文字に一致します。
于 2012-05-21T02:19:51.003 に答える