问题描述
3月28日16:34分左右,小明和小王一起外出游玩。其上公交的时,因小明无意把携带的可乐弄撒了小王一身。小王很生气的回家了。在这段话中做2次的匹配。。 从头开始 每出现一个标点(,。?!) 就截取到下一个标点出现的位置 然后匹配中间是否存在某个关键字比如说 关键字 外 和玩 必须在一段话内的 上面的话就满足了这个条件。 因此打上出去玩的标签第2个匹配是 上 和 了 在这段话中 虽然出现了 但是上个了 之间有符号间隔 所以不打上这个标签。。我现在用(?<=[,,.。?!])(.*?)外(.*?)玩(.*?)(?=[。?!,,.]) 这个问题是第二句话 因为他们是在2小节话的 (段1:其上公交时 段2:因小明无意把携带的可乐弄撒了小王一身 ) (?<=[。?!])(.*?)(上)(.*?)(了)(?=[。?!,,.]) 这个匹配到了这段话求可行的匹配正则。。。
解决方案
String regex1 = "(?<=[,,.。?!])([^,,.。?!]*)外([^,,.。?!]*)玩([^,,.。?!]*)([。?!,,.])";String regex2 = "(?<=[,,.。?!])([^,,.。?!]*)上([^,,.。?!]*)了([^,,.。?!]*)(?=[。?!,,.])";
时间: 2024-09-24 15:39:17