Обычно в регулярных выражениях используется следующее правило: слово char представляет собой либо букву (верхний или нижний регистр), либо di git, либо "_ "(подчеркивание).
Но вы пишете, что в вашем смысле слово может содержать также точку (и, как я предполагаю, также другие" небелые "символы).
Из этого набора слов вы определяете допустимые слова на самом деле как [\ w.] + , где:
\w
соответствует буквам, цифры и "_", .
совпадают.
Единственное, что нужно добавить - это граничные условия, чтобы гарантировать, что шаблон не соответствует части слова, то есть:
- до начала текста или любого белого символа (положительный взгляд за спиной),
- после конца текста или любой белый символ (положительный взгляд).
Итак, мое предложение:
(?<=^|\s)[\w.]+(?=\s|$)
Обратите внимание, что \b
якоря не могут быть помещены вместо обоих моих взглядов, так как они буду не работает, если точка является первым или последним символом в вашем слове.
Шаблон, подобный [A-Za-z0-9_,]
, как предложено в другом ответе, также неверен, по той же причине.
В По моему мнению, концепция использования Like также неверна, так как она не учитывает оба «граничных условия» (обходные пути), и вы все равно должны использовать просто регулярное выражение.