1. ホーム
  2. regex

[解決済み] 文字列にマッチした後の単語を取得する正規表現 [重複]について

2023-06-10 11:32:48

質問

以下はコンテンツです。

Subject:
    Security ID:        S-1-5-21-3368353891-1012177287-890106238-22451
    Account Name:       ChamaraKer
    Account Domain:     JIC
    Logon ID:       0x1fffb

Object:
    Object Server:  Security
    Object Type:    File
    Object Name:    D:\ApacheTomcat\apache-tomcat-6.0.36\logs\localhost.2013-07-01.log
    Handle ID:  0x11dc

の後の単語を捕捉する必要があります。 Object Name: の後にある単語をキャプチャする必要があります。これは D:\ApacheTomcat\apache-tomcat-6.0.36\logs\localhost.2013-07-01.log .

どうすればいいのでしょうか?

^.*\bObject Name\b.*$ matches - オブジェクト名

どのように解決するのですか?

以下の方法で解決できます。

[\n\r].*Object Name:\s*([^\n\r]*)

作業例

希望のマッチは、キャプチャグループ1になります。


[\n\r][ \t]*Object Name:[ \t]*([^\n\r]*)

似たようなものですが、" blah Object Name: blah"のようなものを許さず、"Object Name:"の後に実際の内容がない場合は次の行をキャプチャしないようにする。