Javascript регулярное выражение выбора слова без специальных символов - PullRequest
1 голос
/ 20 марта 2019

Я хочу сопоставить слово без специальных символов (точка, кавычки и т. Д.) Или пробелов.Текст у меня есть

"üstlenmeyeceğimizin üst "ürünlerin Даха sağlıklı ве zamanında ulaşabilmesi süstlenmeyeceğimizin şehirlerarası otobüs şirketleriyle çalıştığımızı fakat ısrarınız üstüne oluşabilecek gecikme Veya sorunları üstlenmeyeceğimizin teyidini alarak kargoyla поставка sağladık." Üstlenmeyeceğimizin GTEST ATEST üstlenmeyeceğimizind. Тест тестСкорее всего. Юст. Сюжет. Она продает ракушки, пока не протестировала ни одного другого человека. из этого текста, но есть несколько различных ситуаций, подобных приведенным ниже.

Я не хочу совпадать со словами, перечисленными ниже

  • ğ üst
  • ş üst
  • üst lenmeyeceğimizin
  • " üst lenmeyeceğimizin

Iхочу выбрать перечисленные слова

  • . üst
  • üst (есть пробел перед словом)
  • "üst

Я написал это регулярное выражение: [^a-zçğşöü]üst(?![a-zçğşöü]) но это регулярное выражение выбирает слово со специальными символами.Я не хочу специальных символов.

Вскоре я не хочу выбирать, если слово имеет какие-либо начальные буквы или пробелы, но если есть какой-либо специальный символ, ведущий слово, я хочу выделить его без этого специального символа

Ответы [ 3 ]

1 голос
/ 20 марта 2019

Если вам действительно нужны только эти 3 слова:

Я хочу выбрать эти слова из списка

  • .üst
  • üst (перед словом есть пробел)
  • "üst

Как вы задали в своем вопросе, тогда должно хватить:

[" .]üst\b

демо: https://regex101.com/r/kfMZxr/1/

Если теперь вы хотите включить целые слова в свои совпадения, используйте:

(?!şğ)[^\s]*üst(?!lenmeyeceğimizin)[^\s]*

https://regex101.com/r/kfMZxr/2

Это разрешит совпадения как tüst и grüst в вашем тексте, а также büst и üstüne.

(на основе: http://www.ecma -international.org / ecma-262 / 9.0 / index.html )

0 голосов
/ 21 марта 2019

Мне нужно сопоставить слова и заменить их тегами html, например:

üst -> <b>üst</b>

Я решил свою проблему с этим регулярным выражением

([^a-zçğşöü])üst(?![a-zçğşöü])

Это регулярное выражение также соответствует пробелам и специальным символам, но я сгруппировал их в регулярное выражение, а затем исключил из тегов html при замене.

Тест регулярных выражений: https://regexr.com/4amj3

Рабочий пример: https://codepen.io/asipek/pen/xBQGPK?editors=0011

0 голосов
/ 20 марта 2019

в вашем тексте нет "вы имеете в виду" üstlenmeyeceğimizin? в любом случае проверьте это [. \ s "] üst \ b вы можете проверить это здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...