2014-03-31 55 views
0

关于如何使用REGEX在Java平台上标记下面的文本来获取值的任何想法。如果我的正则表达式搜索涉及到“演示和名称”这两个词,我可以得到“姓名:John Doe”这一行。如果我的正则表达式搜索涉及“演示和地址”这两个字,我可以获得“地址:主页”的值。Java正则表达式搜索值

Comment Section 

    Comment: This is the comment for Comment Section 
    Another Field: This is for another field 

Another Comment 

    Comment: This is comment for another comment 

Demo 

    Name: John Doe 
    Address: Home 
+0

你想要什么? –

+1

真的不清楚你想达到什么目的。请详细说明。 – Dropout

+0

我想要的是在使用REGEX搜索文本时获取单词的行。试想一下,上面的那些文本是用XML格式编写的。所以,如果我想获得“John Doe”,那么定位节点是Demo-> Name。类似的东西,但我想在REGEX上。 – Mark

回答

1

这种模式适用于名

Demo\s*|.*Name: (.*) 

这里http://regexpal.com/

测试,如果你使用的是Java,你很可能会被读取一次输入文件一行。如果是这种情况,您需要在Demo弹出时设置一个标志,然后检查包含“NAME:”的行。弹出关闭DEMO标签时关闭标志。

+0

模式工作正常,但我怎么能得到“名称:约翰Doe”的价值像什么已经在示例运行器上突出显示 – Mark

+0

()之间的任何东西被捕获,这意味着在这种情况下“约翰Doe“将被捕获。如果您想要“名称:John Doe”,则将括号的起点移至“名称” –