JavaScript 单词边界的正则表达式,允许单词内的连字符和撇号
JavaScript regular expression for word boundaries, tolerating in-word hyphens and apostrophes
我正在寻找 JavaScript 的正则表达式,它将识别英语中的单词边界,同时接受出现在单词内部的连字符和撇号,但不包括单独出现或出现在单词开头或结尾的连字符和撇号一句话。
例如,对于句子...
她说 - '就这样,Two-Fry。'
...我希望检测到下面显示为灰色的字符:
她</code>说<code>- '
那会</code>是<code>
全部,
Two-Fry .'
如果我使用正则表达式 /[^A-Za-z'-]/g
,则不会检测到 "loose" 连字符和撇号。
她</code>说<code>
-
'那就</code>是<code>
all,
Two-Fry.
'
如何更改我的正则表达式,以便它检测两边都没有单词字符的撇号和连字符?
你可以在这里测试我的正则表达式:https://regex101.com/r/bR8sV1/2
注意:我将要处理的文本可能包含其他书写脚本,例如руский和ไทอ,因此简单地包含不属于任何英语单词的所有字符是不可行的。
你可以这样写:
(\s|[!-/]|[:-@]|[\[-`]|[\{-~])*\s(\s|[!-/]|[:-@]|[\[-`]|[\{-~])*
或精简版:
(\s|[!-/:-@\[-`\{-~])*\s(\s|[!-/:-@\[-`\{-~])*
RegExp 需要一个 \s
(Space 个字符)并在其前后选择空格和非字母数字字符。
https://regex101.com/r/bR8sV1/4
\s
匹配所有空格
!-/
从 !
到 /
的每个字符
:-@
从 :
到 @
的每个字符
\[-``
从 [
到 ``
的每个字符
\{-~
从 {
到 ~
的每个字符
您可以将字界字符组织成两组。
- 不能的角色。
- 可以独处的角色。
适用于您的示例的正则表达式为:
[\s.,'-]{2,}|[\s.]
现在剩下的就是继续将所有非单词字符添加到这两个组中,直到它满足您的所有需求。因此,您可能会开始向这些字符添加符号和更多标点符号 类.
我正在寻找 JavaScript 的正则表达式,它将识别英语中的单词边界,同时接受出现在单词内部的连字符和撇号,但不包括单独出现或出现在单词开头或结尾的连字符和撇号一句话。
例如,对于句子...
她说 - '就这样,Two-Fry。'
...我希望检测到下面显示为灰色的字符:
她</code>说<code>- '
那会</code>是<code>
全部,
Two-Fry .'
如果我使用正则表达式 /[^A-Za-z'-]/g
,则不会检测到 "loose" 连字符和撇号。
她</code>说<code>
-'那就
</code>是<code>
all,
Two-Fry.
'
如何更改我的正则表达式,以便它检测两边都没有单词字符的撇号和连字符?
你可以在这里测试我的正则表达式:https://regex101.com/r/bR8sV1/2
注意:我将要处理的文本可能包含其他书写脚本,例如руский和ไทอ,因此简单地包含不属于任何英语单词的所有字符是不可行的。
你可以这样写:
(\s|[!-/]|[:-@]|[\[-`]|[\{-~])*\s(\s|[!-/]|[:-@]|[\[-`]|[\{-~])*
或精简版:
(\s|[!-/:-@\[-`\{-~])*\s(\s|[!-/:-@\[-`\{-~])*
RegExp 需要一个 \s
(Space 个字符)并在其前后选择空格和非字母数字字符。
https://regex101.com/r/bR8sV1/4
\s
匹配所有空格!-/
从!
到/
的每个字符
:-@
从:
到@
的每个字符
\[-``
从[
到``
的每个字符
\{-~
从{
到~
的每个字符
您可以将字界字符组织成两组。
- 不能的角色。
- 可以独处的角色。
适用于您的示例的正则表达式为:
[\s.,'-]{2,}|[\s.]
现在剩下的就是继续将所有非单词字符添加到这两个组中,直到它满足您的所有需求。因此,您可能会开始向这些字符添加符号和更多标点符号 类.