使用也处理撇号的正则表达式匹配单词

2023-12-02

我必须将一行文本分成单词,并且对使用什么正则表达式感到困惑。 我到处寻找匹配单词的正则表达式,并找到了与这篇文章类似的正则表达式,但希望它在 java 中(java 不处理常规字符串中的 \ )。

正则表达式匹配单词和带有撇号的单词

我已经尝试了每个答案的正则表达式,并且不确定如何为此构造一个用于java的正则表达式(我假设所有正则表达式都是相同的)。如果在我看到的正则表达式中将 \ 替换为 \,则正则表达式不起作用。

我也尝试自己查找并来到此页面:http://www.regular-expressions.info/reference.html

但我无法理解正则表达式高级技术。

我正在使用 String.split(此处为正则表达式字符串)来分隔字符串。 一个例子是,如果我得到以下内容: “我喜欢吃,但我不喜欢吃大家的食物,不然他们会饿死的。” 我想匹配:

I
like
to
eat
but
I
don't
like
to
eat
everyone's
food
or
they'll
starve

我也不想匹配 '' 或 '''' 或 ' ' 或 '.'' 或其他排列。 我的分隔符条件应类似于: [匹配任何单词字符][如果撇号前面有单词字符,则还匹配撇号,然后匹配其后的单词字符(如果有的话)

我得到的只是一个匹配单词 [\w] 的简单正则表达式,但我不确定如何使用前视或后视来匹配撇号,然后匹配剩余的单词。


使用来自的答案WhirlWind在我的评论中所述的页面上,您可以执行以下操作:

String candidate = "I \n"+
    "like \n"+
    "to "+
    "eat "+
    "but "+
    "I "+
    "don't "+
    "like "+
    "to "+
    "eat "+
    "everyone's "+
    "food "+
    "''  ''''  '.' ' "+
    "or "+
    "they'll "+
    "starv'e'";

String regex = "('\\w+)|(\\w+'\\w+)|(\\w+')|(\\w+)";
Matcher matcher = Pattern.compile(regex).matcher(candidate);
while (matcher.find()) {
  System.out.println("> matched: `" + matcher.group() + "`");
}

它将打印:

> matched: `I`
> matched: `like`
> matched: `to`
> matched: `eat`
> matched: `but`
> matched: `I`
> matched: `don't`
> matched: `like`
> matched: `to`
> matched: `eat`
> matched: `everyone's`
> matched: `food`
> matched: `or`
> matched: `they'll`
> matched: `starv'e`

您可以在这里找到一个正在运行的示例:http://ideone.com/pVOmSK

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用也处理撇号的正则表达式匹配单词 的相关文章

随机推荐

  • 如何用jsoup解析简单的html代码?安卓

    这是我的html代码的一部分 div class entry themeform h3 dr James 8211 opiekun naukowy h3 p a href http www page com picture jpg img
  • 将 UILabel 添加到 UIToolbar

    我正在尝试向我的工具栏添加标签 按钮工作得很好 但是当我添加标签对象时 它崩溃了 有任何想法吗 UIBarButtonItem setDateRangeButton UIBarButtonItem alloc initWithTitle S
  • 如何将 Android 上的 Vimeo 和具有特定用户访问权限的网站集成

    我们购买了一个用于视频流的 VIMEO 帐户 我们的网站和 Android 应用程序正在运行 并且对内容的用户级别限制由 firebase 生成的令牌管理 现在我想集成 VIMEO 视频以供我们的网站和应用程序访问 并希望确保所需用户只能使
  • 在 MongoDB Realm Sync 中建模子集合

    我是 MongoDB 和 MongoDB Realm Sync 的新手 我正在关注领域同步教程 and 领域数据模型文档 但我想了解更多信息 因此我对 Atlas 集合结构进行了如下调整 Projects gt Tasks i e task
  • 动态添加的 DropDownlists 不会触发 SelectedIndexChanged 事件 [重复]

    这个问题在这里已经有答案了 我看到了很多关于这个主题的东西 但我找不到解决方案 我用一个事件添加了许多下拉列表 但它们没有触发 SelectedIndexChanged 事件 这是 drplist 创建者代码 foreach var row
  • 具有多行 UILabel 的自定义 Tableview 单元格需要动态高度

    我使用 Interface Builder 创建了一个自定义 TableView 单元 它看起来是这样的 对于描述标签 我需要将其自动换行 因此我将其设置为 在我的 SettingsPageViewController 中 我重写了以下表视
  • Java日期格式真正简单

    如果我有一个日期 而我想要的只是像这样的月份和日期 月 日 然后像今年 7 月 8 日那样转动月份 您会如何写日期 让我看看我是否理解得很好 您有一个类似于 07 08 的日期 并且想要 7 月 08 你可以尝试简单日期格式 import
  • C 中的非 ASCII 字符

    我正在查看 google go 的运行时源代码 位于https go googlecode com hg src pkg runtime 而且他们似乎使用了一个特殊字符作为函数名称 例如 查看https go googlecode com
  • 为什么 Julia 中 2 ^ 3 ^ 4 = 0?

    我刚刚在 Quora 上读到一篇文章 http www quora com Is Julia ready for 生产 use 在底部 有一个答案说 2 3 4 0 我自己尝试了一下 julia gt 2 3 4 0 就我个人而言 我不认为
  • R:查找并删除所有一到两个字母的单词

    我试图从文本段落中清除任何一两个字母的单词 这是我的第一个想法 gsub a zA Z 1 2 a ab abc B BB BBB 1 a aaa BB BBBB 我可以看到 a 如何不被替换 因为它不以空格开头 并且我可以看到 BB 如何
  • 比较字符

    假设我有以下代码 String myString Hello char firstChar myString charAt 0 然后我想检查firstChar 是否具有值 B 我试过 if myChar b and if myChar eq
  • 从每个组中选择一个随机行 SQL Server

    我有一张如下表 ID Code Age 1 4758 21 1 7842 14 1 9821 23 1 6842 9 2 8472 24 2 7558 31 2 7841 28 3 7881 38 3 8794 42 3 4871 43 对
  • 告诉原则一个字段可以为空

    我必须在学说实体的注释中输入什么 其实是这样的 ORM Column type string length 255 Assert Length min 3 max 255 minMessage The name is too short m
  • php 如何转换布尔变量?

    php 如何转换布尔变量 我试图将布尔值保存到数组中 result Users is login true 但是当我使用调试时 is login 值为空 当我执行以下条件时 if result Users is login 条件总是假的 然
  • 将“展开”按钮添加到没有子节点的 JTree 节点?

    我想将 扩展 按钮添加到 JTree 的节点以指示它们是可扩展的 问题是 在用户单击它们之前 它们没有子级 由于在后台进行处理 有什么方法可以将节点设置为父节点或拥有子节点 而无需它实际拥有子节点吗 Thanks 可以使用你自己的Defau
  • 管理对象间关系

    如何为对象的特殊情况编写代码 例如 假设我正在编写一个角色扮演游戏 有 N 5 个类 矩阵中有 N 2 个关系 可以确定角色 A 是否可以攻击 或对角色 B 使用能力 M 暂时忽略其他因素 我如何在 OOP 中对此进行编码 而不用到处放置特
  • 使用嵌套 json 时,排序在 ngTable 中不起作用

    我使用 ngTable 在 angularjs 中创建了一个应用程序 该应用程序工作正常 但排序不起作用 我的 json 结构是嵌套的 但值与表一起正确出现 谁能告诉我一些解决方案 我的代码如下所示 JSFiddle html div ta
  • Vb.net 解密 sha512 哈希

    嘿伙计们 我正在努力解密我的哈希值sha512加密 我正在寻找一种最终解密它的方法 顺便说一句 这就是我进行加密的方式 Dim uEncode As New UTF8Encoding Dim bytClearString As Byte u
  • 如何在 Matplotlib 的子图中单独绘制相同的图形? [复制]

    这个问题在这里已经有答案了 我正在用 Python 编写一个生成许多图表的程序 其中一些图表无论是独立的还是与其他图表相比都很有趣 生成这些图表的成本很高 就运行时间而言 而且我不想多次生成它们 有没有办法生成一次情节 并将其作为子情节的一
  • 使用也处理撇号的正则表达式匹配单词

    我必须将一行文本分成单词 并且对使用什么正则表达式感到困惑 我到处寻找匹配单词的正则表达式 并找到了与这篇文章类似的正则表达式 但希望它在 java 中 java 不处理常规字符串中的 正则表达式匹配单词和带有撇号的单词 我已经尝试了每个答