正则表达式匹配包含两个单词的行

时间:2013-10-04 12:33:04

标签: regex expression

以下是我的内容:

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的行。

以下是我的尝试:

^.*\b(Object|Name)\b.*$

以上正则表达式匹配Account Name: ChamaraKer,但我的要求是匹配包含单词Object Name的行。我怎样才能做到这一点?如果有人可以帮我解决这个问题,那就太好了。

2 个答案:

答案 0 :(得分:1)

您的正则表达式实际上是在尝试匹配包含对象 OR 名称的行..

改变它

^.*\bObject Name\b.*$

答案 1 :(得分:1)

对评论的回应:

^.*\bObject Name:(.*)$

第1组将在(。*)内部匹配所有内容。

取决于正则表达式引擎,例如它将是\1(对于Notepad ++)或match.Groups[1].Value(C#)