У меня есть регулярное выражение, которое делает положительный взгляд. Положительный взгляд основан на том, что «cfu/ml» присутствует в строке, но не включает его в результат.Regex match pattern после положительного взгляда вперед
Вот регулярное выражение:
((((less|greater)\s*tha[nt]\s*)?[><]*[\d]+[\sx,.-]*)*)+(?=CFU\s?/\s?ML)
Ex строка: "100000000 х 85 х 9345 КОЕ/мл"
Match1: "100000000 х 85 х 9345"
Это работает только отлично, но пытаюсь соответствовать чему-либо после того, как этот позитивный взгляд не работает. То, что я пытаюсь сделать, это добавить еще одну группу захвата результатов после положительного взгляда вперед так.
((((less|greater)\s*tha[nt]\s*)?[><]*[\d]+[\sx,.-]*)*)+(?=CFU\s?/\s?ML)\s*blah
Пример строки: "100000000 х 85 х 9345 КОЕ/мл бла"
Match1: "100000000 х 85 х 9345"
Match2: "бла"
Кажется как ничто после положительного взгляда вперед, кто-нибудь знает, как я могу это исправить?
Другими словами, положительные взгляды кажутся бессмысленными в середине регулярного выражения. Практически говоря, вы действительно хотели бы использовать их только в конце регулярного выражения. Поймайте взгляд и просто используйте нормальное выражение. – Jeff
ok Я вижу, что вы говорите, что-то вроде этого (((меньше | больше) \ s * tha [nt] \ s *)? [><] * [\ D] + [\ sx, .-] *) * CFU \ s?/\ S? ML \ s * (blah) – mgmedick
@mgmedick: В принципе, да. Я думаю. Markdown немного исказил ваш комментарий, но группировка выглядит правильно. – cHao