Доброе утро
(я видел, что у этой темы много ответов, но я не смог найти подходящий)
Я пишу небольшой парсер вJavaScript, который будет разрезать текст на следующие разделы:
var tex = "hello this :word is apart"
var parsed = [
"hello",
" ",
"this",
" ",
// ":word" should not be there, neither "word"
" ",
"is",
"apart"
]
идеальное регулярное выражение для этого:
/((?!:[a-z]+)([ ]+|(?<= |^)[a-z]*(?= |$)))/g
Но у него положительный взгляд за , что,как я читал, он был реализован только в javascript в 2018 году, поэтому я предполагаю, что многие конфликты совместимости браузеров ... и я хотел бы, чтобы он имел как минимум небольшую совместимость ...
Iрассматривал:
- пытается захватить группы (? :), но он занимает место раньше ...
- просто убирает проверку пробелов, но ": word" появляется как "word«
- синтаксический анализ текста 2 раза, один для слов, другой для пробелов, но я боюсь, что расставить их в правильном порядке будет больно
Поймите, мне НУЖНЫ слова ИВСЕ пробелы, и, чтобы исключить некоторые слова.Я открыт другими методами, например, не использую регулярное выражение.
мой последний вариант :
снятие проверки пробелов и организация всего моего регулярного выражения в праве Приказ , молящийся о том, чтобы слово «: word» оставалось в группе «особые слова», прежде чем что-либо еще.
мой вопрос :
будет работать вjavascript, и быть надежным ?
Я пытался
/(((:[a-z]+)|([ ]+)|([a-z]*))/g
в https://regexr.com/, кажется, работает, будет ли это работать в каждом случае?