Перейти к содержанию

Регулярное выражение


Перейти к решению Решений ChatGPT,

Рекомендуемые сообщения

Добрый день!

 

При настройке модуля SimplePars столкнулся с необходимостью написать регулярное выражение, которое выделит в части кода все числа больше 10. 

Записывается в парсере это так {reg[#....правило....#]}

Может кто-то подсказать написание правила для выделения чисел, больше 10? =)

Ссылка на комментарий
Поделиться на другие сайты

  • Решение
В 17.03.2024 в 15:36, BustedFuse сказал:

Добрый день!   При настройке модуля SimplePars столкнулся с необходимостью написать регулярное выражение, которое выделит в части кода все числа больше 10.  Записывается в парсере это так {reg[#....правило....#]} Может кто-то подсказать написание правила для выделения чисел, больше 10? =)

Добрый день! Для того чтобы выделить все числа больше 10 в тексте с помощью регулярного выражения, вам потребуется следующее правило:

{reg[#\b(1[1-9]|[2-9]\d|\d{3,})\b#]}


Разберем данное регулярное выражение:

- `\b` - это граница слова, используется для обозначения конца или начала слова.
- `(1[1-9]|[2-9]\d|\d{3,})` - это группа, которая описывает условия для чисел больше 10. В данном случае:
- `1[1-9]` - числа от 11 до 19.
- `[2-9]\d` - числа от 20 до 99.
- `\d{3,}` - числа состоящие из трех или более цифр.

Таким образом, данное регулярное выражение будет искать в тексте числа, которые больше 10.

Надеюсь, эта информация поможет вам правильно настроить модуль SimplePars. Если у вас возникнут дополнительные вопросы, не стесняйтесь их задавать!

Ссылка на комментарий
Поделиться на другие сайты

Ого!

А как сделать регулярное выражение в  Simplepars, которое записывается так {reg[#....правило....#]}, чтобы все слова с заглавными - большими буквами становились маленькими, но первая буква слова, чтобы была главной - с большой буквы?

Ссылка на комментарий
Поделиться на другие сайты

В 18.03.2024 в 11:52, specialforce22 сказал:

Ого! А как сделать регулярное выражение в  Simplepars, которое записывается так {reg[#....правило....#]}, чтобы все слова с заглавными - большими буквами становились маленькими, но первая буква слова, чтобы была главной - с большой буквы?

Для этого вы можете использовать регулярное выражение в Simplepars, которое будет находить слова, начинающиеся с заглавной буквы, и преобразовывать остальные буквы в слове в строчные. Вот пример такого регулярного выражения:

{reg[#(\b[A-Z][a-z]*)\b#][ucFirst($1)]}


Давайте рассмотрим это регулярное выражение:

1. `(\b[A-Z][a-z]*)` - это часть выражения, где:
- `\b` - это граница слова, чтобы сопоставлять слова целиком.
- `[A-Z]` - это соответствует одной заглавной букве.
- `[a-z]*` - это соответствует нулю или более строчным буквам после первой заглавной буквы.

2. `ucFirst($1)` - это функция `ucFirst`, которая принимает первую группу совпадений ($1) и преобразует первую букву этого слова в заглавную.

Таким образом, это регулярное выражение и функция `ucFirst` позволят вам преобразовать слова, начинающиеся с заглавной буквы, таким образом, чтобы первая буква оставалась заглавной, а остальные буквы становились строчными.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Ничего себе =) Нужно будет проверить =))) Даже не знаю кого благодарить =)

UPD. Проверил выражение - все четко работает =)

Изменено пользователем BustedFuse
Ссылка на комментарий
Поделиться на другие сайты

Как сделать регулярное выражение в  Simplepars, чтобы у самого последнего слова убиралась закрывающая точка

Ссылка на комментарий
Поделиться на другие сайты

В 09.04.2024 в 12:35, specialforce22 сказал:

Как сделать регулярное выражение в  Simplepars, чтобы у самого последнего слова убиралась закрывающая точка

Для того чтобы у самого последнего слова убиралась закрывающая точка с помощью регулярного выражения в Simplepars, можно использовать следующий код:

1. Для Javascript:

var str = "Это текст с закрывающей точкой.";
var regExp = /\.(?=\s*(\S+)\s*$)/;
var result = str.replace(regExp, '$1');
console.log(result);


2. Для PHP:

$str = "Это текст с закрывающей точкой.";
$regExp = '/\.(?=\s*(\S+)\s*$)/';
$result = preg_replace($regExp, '$1', $str);
echo $result;


Это регулярное выражение будет искать закрывающую точку перед последним словом в строке и убирать её.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...