Я изучаю регулярные выражения, чтобы использовать их в программе lex. Я Видел here, что в регулярных выражениях:
Разница между '?' и '*' в регулярных выражениях
'*' matches 0 or more occurances of pattern
'?' matches 0 or 1 occurance of the pattern
Под этим я вроде Confused. Я имею в виду:
FL [0-9]*"."[0-9]+
FL [0-9]?"."[0-9]+
для чисел, как 0.999 или .999 и т.д. (то есть, номер только с одной цифрой перед точкой натальной .
)?Может ли кто-нибудь объяснить это? Заранее благодарю :).
Благодарим за быстрый ответ. Будет ли 'FL [0-9]?". "[0-9] +' Работа для поиска поплавков? –
@VedantTerkar: Я не знаю конкретного диалекта регулярного выражения, которое вы используете, поэтому эти цитаты кажутся мне странными. Но это, вероятно, неверно, потому что, если я его правильно прочитаю, это будет * не * соответствовать '23.5', потому что перед символом' .' вы только допустили * *. Таким образом, вы, вероятно, захотите '*', а не '?' Там, чтобы вы соответствовали любому количеству цифр перед '.'. –
Я использую flex и DevCPP для окон 7 и 'FL [0-9] *". "[0-9] +' работает для меня. но если я хочу принять только одну цифру до '.', как вы сказали. Тогда может 'FL [0-9]?". "[0-9] +' решить это? –