шаблон регулярного виразу для різних груп чисел


0

Я розбираю список кодових номерів, вони мають шаблон 12345.1211. Вони є space розділені. Іноді вони матимуть простір, за яким слідуватиме один з трьох шаблонів додаткових номерів: 1221.121 11 або 111.111111 874.95 1211

У мене є регулярний вираз [0-9]+\.[0-9]+

Він знаходить децимированное число 12345.1211 як. Я інкапсулюю регулярний вираз з ( & amp; ) і використання \1\n щоб розбити кожен код новою лінією.

я використовую Notepad++ з знайти заміну. Але регулярний вираз не відповідає числам, включеним у простір. Додаткові номери закінчуються на тому ж рядку, що й наступний шаблон.

Приклад 1221.121 11 або 111.111111 874.95 1211 456.155

1221.121

11 111.111111

874.95

1211 456.155

Чи є що-небудь, що я можу зробити, щоб додатково включити додаткові номери, розділені пропуском?

Дякую.


1
Список розмежований простором, але у вас є коди, які включають пробіли?
Excellll

Якщо це відмежований простір, але в шаблоні потрібно, щоб іноді (але лише іноді) включати пробіли, то вам доведеться ретельно визначати, коли простір повинен бути включений і коли його немає. Якщо визначення досить точне і достатньо точне, то, напевно, ви можете написати регулярний вираз, але без цього визначення неможливо записати одне, що було б на 100% правильним.
EBGreen

Також розміщення точного регулярного виразу, який ви зараз використовуєте, допоможе нам краще зрозуміти, що ви намагаєтеся зробити, і де може знадобитися виправити.
EBGreen

Реестр, який я використовую, перерахований і виділений. Список розділений пробілами, оскільки його було скопійовано з веб-сторінки. У наборі наборів даних дійсний номер CODE не повинен містити пробіл. Однак мій роботодавець зробив винятки з цього правила. У будь-який час, коли є код з пробілом, він зазвичай має один пробіл, за яким слідують два числа. Але були приклади, де він причепився з однією або трьома цифрами. Але це ще рідше.
TheSavo

Думаю, я знайшов відповідь. Якщо він запустити регулярний вираз: ([0-9] +), який веде з пробілом, а трас з пробілом знайде лише шаблонний номер, який має простір спереду і ззаду. Оскільки дійсні номери кодів будуть мати десяткову цифру, це буде лише знайдено, які будуть додаткові цифри. Я загорнув його в парені, і використовую зворотний довідник, приводжу його з підкресленням, і простежу його простором. ' 1 'Отже, він буде прикріплювати додаткові цифри до батьківської частини і розділяти весь рядок на пробіл. Потім я додаю і undersore до мого шаблону регулярного вигляду, як це. "([0-9] + [0-9 ] +) "
TheSavo

Відповіді:


0

За вашими тестовими даними цей регулярний вираз відповідає мені всім числам;

[0-9]+[.]?[0-9]+

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.