J0000000: Transaction A0001401 started on 8/22/2008 9:49:29 AM
J0000010: Project name: E:\foo.pf
J0000011: Job name: MBiek Direct Mail Test
J0000020: Document 1 - Completed successfully
Run Code Online (Sandbox Code Playgroud)
我有这个巨大的丑陋的字符串,我正在尝试使用正则表达式从中提取片段.
在这种情况下,我想抓住"项目名称"之后的所有内容,直到它说"J0000011:"的部分(每次11将是一个不同的数字).
这是我一直在玩的正则表达式
Project name:\s+(.*)\s+J[0-9]{7}:
Run Code Online (Sandbox Code Playgroud)
问题是它不会停止,直到它碰到J0000020:最后.
如何在第一次出现J [0-9] {7}时使正则表达式停止?
我需要一个java中的比较器,它与sql'like'运算符具有相同的语义.例如:
myComparator.like("digital","%ital%");
myComparator.like("digital","%gi?a%");
myComparator.like("digital","digi%");
Run Code Online (Sandbox Code Playgroud)
应评估为真,并且
myComparator.like("digital","%cam%");
myComparator.like("digital","tal%");
Run Code Online (Sandbox Code Playgroud)
应评估为假.任何想法如何实现这样的比较器或任何人都知道具有相同语义的实现?可以使用正则表达式完成吗?