解析字符串:提取单词和短语 [JavaScript]

2024-06-29

我需要在以空格分隔的术语列表中支持确切的短语(用引号引起来)。 因此,用空格字符分割相应的字符串已经不够了。

Example:

input : 'foo bar "lorem ipsum" baz'
output: ['foo', 'bar', 'lorem ipsum', 'baz']

我想知道这是否可以通过单个正则表达式来实现,而不是执行复杂的解析或拆分和重新连接操作。

任何帮助将不胜感激!


var str = 'foo bar "lorem ipsum" baz';  
var results = str.match(/("[^"]+"|[^"\s]+)/g);

...返回您正在寻找的数组。
但请注意:

  • 包含边界引号,因此可以使用以下命令删除replace(/^"([^"]+)"$/,"$1")关于结果。
  • 引号之间的空格将保持不变。所以,如果之间有三个空格lorem and ipsum,它们将出现在结果中。您可以通过运行来修复此问题replace(/\s+/," ")关于结果。
  • 如果没有关闭" after ipsum(即错误引用的短语)您最终会得到:['foo', 'bar', 'lorem', 'ipsum', 'baz']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解析字符串:提取单词和短语 [JavaScript] 的相关文章

  • d3 添加 html 链接到表中的数据列

    我是 d3 和 Javascript 的新手 我正在尝试添加一个 a 元素 带有 href 属性 到指定数据列中的每个值 目前我正在使用以下代码来生成表 function tabulate data columns var table d3
  • 如何在React Native中重用React JS组件

    我是新来的React JS 我正在尝试构建一个网络应用程序 该应用程序也应该在移动设备 Android 和 IOS 上运行 因此考虑使用react js for web application并创建了一些组件 那么是否可以使用React j
  • 带标头认证的跨域请求

    我需要发送一个Get具有标头身份验证的跨域来源请求 它在 Chrome 和 Firefox 中工作正常 但在 Safari 和 IE 中遇到问题 同样在随机情况下它会返回 401 解决这个问题的最佳选择是什么 如果我正确理解了问题 您可以使
  • 如何检查模糊事件中的值是否发生更改?

    基本上我需要检查 模糊 事件的文本框中的值是否发生更改 以便如果该值没有更改 我想取消模糊事件 如果可以检查用户在输入 HTML 元素的模糊事件中更改了值吗 我不认为有一种本地方法可以做到这一点 我要做的就是添加一个函数focus将当前值保
  • React Native Scrollview 停止势头? (世博会)

    我正在使用一个滚动视图 https facebook github io react native docs scrollview html 当我滚动并放开时 它会因为动量而继续滚动 我希望它仅在手指触摸屏幕时滚动 我不想要动量 这可能吗
  • 了解 HTML 5 事件拖动

    我不明白为什么在事件拖动中鼠标坐标clientX的返回值总是0或释放鼠标之前的负值 我准备了一个例子 当用户dragstart 鼠标位置正确 结束同样dragend 但是如果你查看控制台drag你会看到之前dragend负值 是正常行为吗
  • 将表格单元格添加到现有表格行,jQuery

    我正在尝试使用 jQuery 将值添加到表中 不幸的是 我不知道如何让 jQuery 将表单元格添加到现有行 例如 td a href key a td click function e e preventDefault testset k
  • Chrome 扩展弹出窗口的非阻塞警报

    我正在制作一个 chrome 扩展 为此我需要在弹出窗口中添加一些非阻塞警报 定期警报会暂停 javascript 代码执行 而客户端并不希望这样 我尝试使用 jQuery 的 UI 对话框 但是当我单击 确定 按钮关闭它时 弹出窗口失去焦
  • 字符串和数组泛型方法将来将被弃用

    在下面的链接 MDN 站点 中 它显示 字符串泛型是非标准的 已弃用 将来可能会被删除 请注意 如果不使用下面提供的填充程序 则不能跨浏览器依赖它们 他们所指的方法是否是他们在此声明下方提供的垫片中列出的方法 这是我见过的唯一对 字符串泛型
  • 在条件 for 循环中渲染 React

    我在网页中有静态信息 class MyStaticWebPage extends React Component render return
  • 正则表达式匹配 Java 中的未转义逗号

    问题描述 我试图使用 String 类提供的 split 方法将 a 拆分为单独的字符串 文档告诉我 它将围绕参数的匹配进行拆分 参数是正则表达式 我使用的分隔符是逗号 但逗号也可以转义 我使用的转义字符是正斜杠 只是为了让事情变得更容易
  • C# 在 WebBrowser 中调用 JavaScript

    我正在尝试调用 JavaScript 方法WebBrowser WebBrowser webBrowser new WebBrowser webBrowser NavigateToString html webBrowser LoadCom
  • 使用 querySelectorAll 获取选定的选项

    我想知道是否可以在 Javascript 中获取当前选定的选项
  • 冻结 TH 标题和滚动数据

    我有一个 html 表 我想冻结标题行标签以滚动数据 我怎样才能做到这一点 我需要使用Dom吗 谢谢 我的解决方案是使用两个表并固定列宽 下面的表格位于可滚动的 div 中 并且没有标题
  • 当字符串值包含逗号时,JSON.parse 在 Safari 中失败

    我正在构建一个购物车 当按下 购买 按钮时 Web 服务会返回一个 JSON 输出 然后我将其作为字符串保存到 Javascript cookie 中 Web 服务的典型返回可能是 d 58658 id 58658 qty 1 single
  • 异步等待和获取语法在 React 中不起作用

    这是我的代码 export class App extends Component constructor props super props async fetchSport sport let headers new Headers h
  • 为什么动态安装的 vuejs 内容不是根 vue 实例的子组件?

    我加载一些包含自定义组件的 html 并将该内容挂载到父组件中的固定节点 不幸的是 我发现它们之间没有父子关系 因此动态插入的组件派发的事件无法被根vue接收 我创建了一把小提琴 任何帮助或建议都将受到赞赏 http jsfiddle ne
  • 为什么 (false || null) 返回 null,而 (null || false) 返回 false?

    为什么false null返回与以下不同的结果null false 我可以安全地依靠吗return myVar false如果 myVar 是其中之一 则返回 falsenull or false but true否则 所有组合 false
  • 在 Bootstrap 中的悬停中打开折叠选项卡

    我在 Bootstrap 中有折叠面板 单击选项卡标题即可打开该面板 我试图弄清楚如何使用鼠标悬停在选项卡的总宽度上来打开 但我没有得到它 下面是默认关闭的单个选项卡的代码 div class panel panel default sty
  • 如何在javascript中获取表中复选框的值

    我需要获取表行中提供跨度的复选框的值 下面的代码是我的项目的一部分 HTML 代码用于动态我的表格 而 javascript 代码用于获取不适用于复选框的元素的值 它适用于其他输入元素 我的桌子 var html tr class rows

随机推荐

  • 让 DrawerLayout 在 ActionBar 上滑动

    我在活动中有一个滑动抽屉菜单 其中有一个带有一些选项卡的操作栏 我想让滑动抽屉滑过标签 而不是滑过标签下方 这就是现在的样子 关于如何做到这一点有什么想法吗 注意 我知道我可能会在这里打破一些约定和 UI 模式 如果它根本不起作用 我会考虑
  • 如何转义 onClick 处理程序内 JavaScript 代码中的字符串?

    也许我只是想得太难了 但我在弄清楚链接的 onClick 处理程序内的某些 JavaScript 代码中的字符串上使用什么转义时遇到了问题 例子 a href Select a The and 是发生模板替换的地方 我的问题是项目名称可以包
  • 嘲笑会员用户

    我目前正在开发一个 asp net mvc 2 应用程序 它使用默认的 SqlMembershipProvider 进行身份验证 我已经实现了一个控制器方法 通过调用读取当前用户的 ProviderUserKeyMembership Get
  • 如何在Windows Azure上调用ffmpeg.exe转换音频文件?

    我在 Windows Azure 上运行 Web 角色来接收 AAC 音频文件 通过 base64 字符串上传 并将它们存储到 blob 中 现在效果很好 接下来 我还必须将它们转换为 MP3 并将 MP3 存储到 blob 中 我决定使用
  • 如何更新 Websphere 7 以使用 EL2.2?

    这就是我所做的 按照此林肯 巴克斯特的帖子 http ocpsoft com java jsf2 java jsf2 how to add the magic of el el2 to jsf 我下载了 el api 2 2 jar 和 e
  • WPF 复选框状态不会在固定页面中更新

    我正在尝试导出一些基于在 WPF 中用作模板的固定页面元素的数据 并且我在更新复选框的值时似乎遇到问题 奇怪的是 我还在模板中使用了文本块和文本框 但这些在更新其内容时没有问题 所以 从一开始 我想要导出的数据位于名为 RepairStat
  • 如何获取错误字符串格式的警告 (C++)

    如果我使用不好的术语 请提前道歉 当我在 gdb 下编译 C 应用程序并使用 printf 时 它会给出有关格式字符串和传入参数的一致性的令人敬畏的警告 例如 这段代码 printf s s foo 导致编译器警告 格式参数太少 这是超级有
  • WPF MVVM后台打印数据绑定问题

    我正在使用 wpf mvvm 开发一个销售点应用程序 在交易生命周期的许多阶段 都会在后台打印收据 我已经使用其他示例在后台生成和打印收据 我正在后台打印一个 UserControl 一切看起来都很棒 然后 我为该控件创建了 ViewMod
  • 如何从Python列表中的CSV文件的单个单元格中写入单词集?

    dataList cyclone twister thunderstorm supercell wind weatherradar storm waterspout tropicalcyclone hurricane typhoon sno
  • 训练某些网络时,Keras(Tensorflow 后端)在 GPU 上比在 CPU 上慢

    我很难理解为什么 GPU 和 CPU 速度在小规模网络中相似 CPU 有时更快 而 GPU 在大规模网络中更快 问题底部的代码在 i7 6700k 上运行时间为 103 7 秒 但使用tensorflow gpu 时 代码运行时间为 29
  • 脚本不会从nodejs应用程序中的ejs文件运行

    我正在尝试使用nodejs express mysql和ejs让网页显示图表 但我显然不明白ejs javascript等是如何工作的 我需要运行一个脚本来设置图表 来自 Chart js 模块 但它不会输出任何类型的图表 我尝试过的 将
  • 使用 jQuery 将 Enter 的按下链接到按钮单击

    我在模态表单上有一些按钮 div class block footer align right div
  • 剥离 OLE 标头信息 (MS Access / SQL Server)

    我有一个 C 应用程序需要支持二进制数据库内容 图像等 当使用 MS Access 或 MS SQL Server 时 此数据被包装在 OLE 对象内 如何去除此 OLE 标头信息 请注意 我不能只查找特定标签的开头 因为内容可以是 png
  • Android Studio - 程序类型已存在:com.google.android.gms.internal.measurement.zzwp

    昨天 我的应用程序运行良好 今天 不知道为什么 重新打开Android Studio后 应用程序就无法编译了 显示的错误是 Program type already present com google android gms intern
  • 如何显示 javadoc 代码块中的泛型?

    我有一个 javadoc 代码块 我想在其中编写一个包含泛型的代码示例 如下所示 public interface SomeInterface
  • 保留部分桌面

    如何使用 Delphi 保留桌面的一侧 像 Vista 侧边栏那样的东西 你想要的叫做应用程序桌面工具栏 http msdn microsoft com en us library bb776821 28VS 85 29 aspx 您必须使
  • 如何定义类别实例的相等性?

    为了证明例如类别法则对于某种数据类型的某些操作 如何决定如何定义相等性 考虑使用以下类型来表示布尔表达式 data Exp ETrue EFalse EAnd Exp Exp deriving Eq 试图证明这一点是否可行Exp形成一个具有
  • 将 Tango 3D 点投影到屏幕 Google Project Tango

    Project Tango 提供了点云 如何获取点云中 3D 点的像素位置 以米为单位 我尝试使用投影矩阵 但得到的值非常小 0 5 1 3 等 而不是 1234 324 以像素为单位 我包含我尝试过的代码 Get the current
  • 抓取 Shopee API v4

    我有一个最终项目 其中我想要检索的数据是通过在shopee上抓取数据来获取的 但是当我在隐藏的API上抓取shopee时遇到问题 当我在Insomnia脚本上尝试时 脚本会运行 但是当我尝试时在本地或 google colab 脚本上 这是
  • 解析字符串:提取单词和短语 [JavaScript]

    我需要在以空格分隔的术语列表中支持确切的短语 用引号引起来 因此 用空格字符分割相应的字符串已经不够了 Example input foo bar lorem ipsum baz output foo bar lorem ipsum baz