【发布时间】:2015-10-06 20:15:05
【问题描述】:
我的用户有一个 TEXT 字段来通知一些数据。我利用正则表达式来分析该文本的每个单词,使用以下语法:
Dim UserInput as string = textbox.text.trim
Dim AllWords as String() = Regex.Split(UserInput, "\W+")
一切正常,但在“e-mail”之类的词中,返回的函数不会将其视为一个完整的词(由于 W+),但它会将那个词视为仅“mail”。
由于一些用户更喜欢指定一个实际的 MAIL(以打印模式将合同直接发送到他们的家庭地址),但其他用户更喜欢通过电子邮件发送的合同(通过 PDF),在这种特定情况下我们会感到很困惑!
如何设置正则表达式以理解诸如“电子邮件”之类的单词(我知道它输入错误,但有些用户这样写电子邮件!)用连字符作为一个完整的单词?
谢谢!
【问题讨论】:
-
这个问题我不是很清楚,你能提供一个允许和不允许的单词列表让我们有一个直观的例子吗?
-
"\W+" 建议 Regex ALL WORDS ONLY(这是真的,我只需要单词,而不是标点符号、数字等),但是这个函数将“邮件”返回给单词“电子邮件”——这是主要问题!遵循此规则,任何带有连字符的单词都不会被相应地处理。