当前位置: 首页 > 知识库问答 >
问题:

使用正则表达式查找至少包含一个字母的文本文件的所有关键字

须曜文
2023-03-14

我想编写一个正则表达式来删除文本文件中至少没有一个字母的所有标记。我使用OpenNLP标记器提取文本文件的标记。例如,代币90-87,65@7,--,8/0?从给定文本中删除。

我试着跟着这些第1、2和3页;但我找不到我想要的表达。例如,以下代码在11月中旬删除令牌anti-age。

String[] tokens = t.getTokens(sen);

for (String word : tokens) 
    if((!isstopWord(word)) && word.matches("[a-zA-Z]+"))
          bufferedw.append(word+"\n");

但是,我不知道如何防止删除像anti age这样的标记。

问题出在哪里?

共有1个答案

令狐跃
2023-03-14

表达式匹配仅由一个或多个ASCII字母组成的字符串。它不允许连字符、撇号等。

要匹配不包含空格且至少包含一个字母的字符串,可以使用

word.matches("\\S*\\pL\\S*")

查看IDEONE演示

模式匹配零个或多个非空白字符,并且匹配任何Unicode字母。

 类似资料:
  • 我在Groovy中使用正则表达式。 我试图用以下规则来公式化正则表达式。 必须正好是17个字符 必须只包含字母和数字 必须包含至少1个alpha和1个数字字符 不能包含字母'I'、'O'或'Q'(大写或小写) 用下面的表达,我想我就快到了。下面的正则表达式似乎满足了要求1、2和3。 我曾尝试添加要求4,但没有成功。谁能帮我一下吗? 谢谢

  • 我在SO和web上都发现了很多关于这个主题的变化,但大多数(如果不是全部的话)要求至少一个字母和一个数字。我至少需要一封信。我已经试过了,但还没有成功,我需要的是字符串只包含字母、字母和数字(任意顺序),允许使用破折号和空格,但不能在字符串的开头或结尾。下面是它现在的样子: 如何添加检查是否至少有一个字符? 不管它是在开头还是结尾,或者它和数字之间是否有空格或破折号。只要至少有一个字符。

  • null null 我想在ng-pattern中使用这个regex来检查来自用户的文本输入。

  • 我的条件... 字母数字值 只允许使用一个空格或连字符 必须包含至少一个数字 不能以空格或连字符开头或结尾 最少2个字符,最多16个字符,不包括空格/连字符 到现在为止,我准备了正则表达式 它只遗漏了第三点。 测试字符串有效 无效

  • 要匹配至少包含一个字母或数字的字符串,JavaScript正则表达式是什么?这至少需要一个字母数字字符(至少一个字母或至少一个数字)。

  • 我需要一个正则表达式,它应该至少有一个数字字符,允许大小写字母,也允许特殊字符 但它对最大字符10无效。