Это, вероятно, так же просто, как это получается, но я впервые видел регулярные выражения, и все остальные в классе, по-видимому, уже приняли еще один класс. Главное, что я не следую, - использовать кароту (предположительно, чтобы разрешить все, кроме того, что после нее).Регулярное выражение, исключающее подстроку
Так что проблема:
Дайте регулярное выражение для: Все строки над {0,1,2}, которая не включает в себя подстроку 12.
Я знаю (0 | 1 | 2) * будут все строки. Тем не менее, вы хотите, чтобы избежать 12. Как я смотрю на это, что вы просто не хотите 2 после 1, поэтому я ставлю:
(0|1[^2]|2)*
так, как я прочитал это, если это 0, положите 0 и снова скопируйте; если это 1, поставьте 1 и SOMETHING, что не является 2. Однако технически «ничего» - это что-то, так что бы оно возвращалось и было как 1 [ничего], кругом и помещало 2, тем самым делая это 1 [ничего] 2 = 12? Или это будет так, как я надеюсь, и убедитесь, что 2 никогда не придет после 1, продолжая продолжать процесс?
Я не совсем уверен, что если то, что я сказал, имеет смысл, так что просто дайте мне знать, если вам нужны разъяснения, и я попытаюсь хехе
Спасибо заранее.
Шон
Какой класс? Регулярные выражения в области информатики? Или курс программирования с регулярными выражениями? Использование и терминология различаются. – Bergi