Запитання з тегом «regular-expression»

Регулярні вирази - це засіб зіставлення шаблону символів у рядку.


4
Різниця між [0-9], [[: цифра:]] та \ d
У статті Вікіпедії про регулярні вирази здається, що [[:digit:]]= [0-9]= \d. Які обставини, коли вони не дорівнюють? Яка різниця? Після деяких досліджень, я думаю, що одна відмінність полягає в тому, що експресія дужки [:expr:]залежить від локальності.

4
Vim - як замінити один новий рядок \ n двома \ n
У редакторі vim я хочу замінити символ нового рядка (\ n) двома новими символами рядка (\ n \ n), використовуючи режим команд vim. Вхідний вміст файлу: This is my first line. This is second line. Команда, яку я спробував: :%s/\n/\n\n/g він замінює рядок непотрібними символами як This is my first …

2
греп і втеча знак долара
Я хочу знати, які файли мають рядок $Id$. grep \$Id\$ my_dir/mylist_of_files повертає 0 випадків. Я виявив, що мені потрібно користуватися grep \$Id$ my_dir/mylist_of_files Потім я бачу, що $Idкольоровий колір на виході, тобто він був зіставлений. Як я міг співставити другий $і чому не \$Id\$працює. Не має значення, другий $є останнім …

6
Перевірка, чи вхідне число є цілим числом
Я намагаюся перевірити, чи є вхід цілим числом, і я перейшов його за сто разів, але не бачу помилки в цьому. На жаль, це не працює, він запускає оператор if для всіх входів (цифри / літери) read scale if ! [[ "$scale" =~ "^[0-9]+$" ]] then echo "Sorry integers only" …

3
Замініть за допомогою VIM, повторно використовуйте частину пошуку
Я працюю VImі намагаюся налаштувати команду пошуку та заміни, щоб зробити деякі заміни, де я можу повторно використовувати регулярний вираз, який є частиною мого рядка пошуку. Простий приклад буде лінія , де я хочу замінити (10)на {10}, де 10 може бути будь-яка кількість. Я зайшов так далеко .s/([0-9]*)/what here??/ яка …

5
Чергування генерогенезу / або оператора (foo | bar) в GNU або BSD Sed
Я не можу, здається, змусити його працювати. Документація GNU sed говорить про те, щоб уникнути труби, але це не працює, а також не використовує пряму трубу без виходу. Додавання паронів не має ніякої різниці. $ echo 'cat dog pear banana cat dog' | sed 's/cat|dog/Bear/g' cat dog pear banana cat …

2
Чи має (чи) LC_COLLATE впливати на діапазон символів?
Впорядкування замовлення через LC_COLLATEвизначає не тільки порядок сортування окремих символів, а й сенс діапазонів символів. Або це? Розглянемо наступний фрагмент: unset LANGUAGE LC_ALL echo B | LC_COLLATE=en_US grep '[a-z]' Інтуїтивно Bне входить [a-z], тому це нічого не повинно виводити. Ось що відбувається на Ubuntu 8.04 або 10.04. Але на деяких …

11
Має бути кращий спосіб замінити лише окремі нові рядки?
Мені властиво писати один рядок за реченням, тому що я зазвичай складаю речі в LaTex або пишу в іншому форматі, коли розриви рядків ігноруються. Я використовую порожній рядок для позначення початку нового абзацу. Тепер у мене є файл, написаний у такому стилі, який я хотів би просто надіслати як звичайний …

7
Як вибрати перше виникнення між двома шаблонами, включаючи їх
Як я можу вибрати перше виникнення між двома шаблонами, включаючи їх. Переважно з використанням sedабо awk. Я маю: text something P1 something content1 content2 something P2 something text something P1 something content3 content4 something P2 something text Я хочу, щоб перше виникнення рядків між P1 та P2 (включаючи рядок P1 …

3
Як використовувати [\ w] + у регулярному вираженні в sed?
Я в Windows, але, мабуть, моє запитання тут все-таки правильно розміщено. C:\Users\User>grep --version GNU grep 2.6.3 C:\Users\User>sed --version GNU sed version 4.2.1 Я помітив, що такі роботи (вихідні here): echo here | grep -E "\w+" echo here | grep -E "[her]+" Але це не працює (нічого не виходить): echo here …

9
Як я можу “змащувати” візерунки через кілька ліній?
Здається, я зловживаю grep/ egrep. Я намагався шукати рядки в декількох рядках і не міг знайти збіг, хоча я знаю, що те, що я шукаю, повинно відповідати. Спочатку я вважав, що мої реджекси помиляються, але я врешті прочитав, що ці інструменти працюють за рядком (також мої регекси були настільки банальними, …

6
Regex для всіх 10 літерних слів, з унікальними літерами
Я намагаюся написати регулярний вираз, який відображатиме всі слова, що мають 10 символів, і жодна з літер не повторюється. Поки що у мене є grep --colour -Eow '(\w{10})' Яка сама перша частина питання. Як би я пішов на перевірку «унікальності»? У мене справді немає поняття, крім того, що мені потрібно …

5
У регулярному виразі, яким персонажам потрібно втекти?
Взагалі, які символи в регулярному виразі потребують втечі? Наприклад, не синтаксично правильно: echo '[]' | grep '[]' grep: Unmatched [ or [^ Однак це синтаксично правильно: echo '[]' | grep '\[]' [] Чи є будь-яка документація, на яку символи слід уникнути регулярного виразу, а які не слід?

5
пошукові номери vim, що містять конкретну кількість цифр
Мені потрібно знайти конкретні номери довжини у великому документі. Я спробував використовувати для цього регекс. Наприклад, якщо мені потрібно шукати номери з точно двома цифрами, я використовую \d\d(тобто / d двічі, а потім пробіл). Це добре працює. Але для знаходження 10-значних чисел насправді неможливо набрати \d10 разів. Спробував \d{2}: " …

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