一句话类似:
Lorem ipsum +dolor ++sit amet.
我想匹配 +dolor
但不是 ++sit
.我可以通过回顾来做到这一点,但是因为 JavaScript
不支持它我正在努力为它建立一个模式。
到目前为止,我已经尝试过:
(?:\+(.+?))(?=[\s\.!\!]) - but it matches both words
(?:\+{1}(.+?))(?=[\s\.!\!]) - the same here - both words are matched
令我惊讶的是这样的模式:
(?=\s)(?:\+(.+?))(?=[\s\.!\!])
不匹配任何东西。我以为我可以欺骗它并使用 \s
或者稍后还有 ^
在 +
之前签名,但它似乎并不像那样工作。
编辑 - 背景信息:
这不一定是问题的一部分,但有时最好知道这一切有什么好处,以便澄清您的一些问题/评论并做一个简短的解释:
+
标记或 ++
<span>
后来(?=[\s\.!\!])
这样的前瞻这样我就可以匹配任何语言中的单词,而不仅仅是\w
的 Angular 色最佳答案
一种方法是匹配一个额外的字符并忽略它(通过将匹配的相关部分放入捕获组):
(?:^|[^+])(\+[^\s+.!]+)
但是,如果潜在的匹配项可能彼此直接相邻,则此方法将失效。
测试一下 live on regex101.com .
解释:
(?: # Match (but don't capture)
^ # the position at the start of the string
| # or
[^+] # any character except +.
) # End of group
( # Match (and capture in group 1)
\+ # a + character
[^\s+.!]+ # one or more characters except [+.!] or whitespace.
) # End of group
关于javascript - 如何在没有后视的情况下匹配 '+abc' 而不是 '++abc'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27941549/
基于mozilla开发者网络https://developer.mozilla.org/en-US/docs/Web/API/NavigatorOnLine/onLine它说Returnstheonlinestatusofthebrowser.Thepropertyreturnsabooleanvalue,withtruemeaningonlineandfalsemeaningoffline.Thepropertysendsupdateswheneverthebrowser'sabilitytoconnecttothenetworkchanges.Theupdateoccurswhen
我尝试使用nodemailer和电子邮件模板发送电子邮件。现在我从这里exampleemailtemplates得到了例子。但是当我检查这段代码时,出现错误apromisewasrejectedwithanon-error:[objectUndefined]请帮帮我。这是我的代码varnodemailer=require('nodemailer');varEmailTemplate=require('email-templates').EmailTemplate;exports.sendOne=function(){vartemplatesDir=config.templatesDir
我的站点中有一个注册表单,我正在其中保存字段,并且在用户再次返回该注册表单时保存表单后,我希望将以前的字段值保存在浏览器自动填充中。下面是我的代码片段-SignUp在anchor标记的onClick代码中,我通过注册用户函数进行ajax调用。之后,我希望用户数据自动填充到chrome中的浏览器自动填充地址中。我尝试了以下方法:-1.很少有人建议使用表单“提交”按钮功能将数据保存在自动填充中,而不是使用ajax调用表单anchor标记的onClick事件。但这对我来说也不起作用。2.我看过一些帖子,其中他们告诉我要为字段使用专有名称和自动完成属性。但使用该浏览器只能猜测正确的字段值。
我在react-redux上有一个客户端应用程序,在loopback上有一个API应用程序。对于本地测试,我在端口8080上运行客户端应用程序,在端口3000上运行服务器应用程序。当我尝试使用客户端应用测试GoogleOAuth(使用loopback-passport组件)时,出现以下错误。当我使用POSTMAN对其进行测试时,没有任何问题。这是客户端代码,require('babel-polyfill');import{CALL_API}from'redux-api-middleware';importCfrom'../constants';constAPI_ROOT='http:/
我正在尝试在我的应用程序中设置代码拆分/分块-通过路由,使用require.ensure。所以这是我的路线:{require.ensure([],(require)=>{cb(null,require('attendee/containers/Profile/').default)},'attendee')}}/>以下是我的webpack配置中的相关行:constPATHS={app:path.join(__dirname,'../src'),build:path.join(__dirname,'../dist'),};constcommon={entry:[PATHS.app,],o
以下可以忽略或对导入的文件进行一些修改,例如在我的index.js中require.extensions['.js']=function(file){console.log(file.id)return;};但是我真的不想忽略index.js中的这些文件我想忽略在后续文件/组件中导入的文件require.extensions['.js']=function(file){console.log(file.id)return;};require('babel-register')require('./components/Test.spec.js');例如,这会记录以下内容并返回/User
关于UPDATEmultiplerowsfrommultipleparamsinnodejs/pg,我需要运行以下命令:updateportfoliospsetvotes=s.votesfromunnest(array[(5,1),(15,1),(25,2)])s(votesint,idint)wherep.id=s.id其中unnest中我的数组是$1,如下:updateportfoliospsetvotes=s.votesfromunnest($1)s(votesint,idint)wherep.id=s.id但是,我的数组最初由对象组成,如:[{votes:5,id:1},{vo
平凡、常见的用例我想要一个工具提示,它在鼠标悬停时立即显示正在加载的GIF,该GIF被AJAX成功回调产生的HTML所取代。AJAX工具提示的错误答案几乎与在线问这个确切问题的人一样多。特别是,我一直在模拟我在this上的努力。,this,尤其是几个答案here.对于所有这些解决方案(即使是那些专门声称可以解决该问题的解决方案),我一直遇到的问题是,工具提示偶尔会延迟出现并且无法消失。这也不是库问题,因为我过去在使用jQuery-UI工具提示时遇到过同样的问题。图书馆jQueryv2.2.3Bootstrapv3.3.6之前尝试过使用jQuery1并遇到了同样的问题:jQueryv1.
我的JavascriptApacheCordova应用构建良好,但无法在模拟器或真实设备上进行调试。我在VisualStudioJavascript控制台中看到一堆消息匆匆而过,但应用程序立即崩溃并且Javascript控制台变得不可用。我已经尝试设置断点来暂停无法运行的应用。调试器停止后如何查看这些Javascript控制台日志?编辑:如果适用于带有WindowsPhone插件且无法在浏览器中调试的WindowsPhone(通用) 最佳答案 这是我想到的唯一方法;确保JS控制台按钮“导航时清除”未设置启动应用程序,使错误出现,尽管
我想通过本地网络上的设备测试React网站。它适用于其他PC,但不适用于我的手机。你们有什么想法可能导致这种情况吗?这是我的配置文件的样子:constwebpack=require('webpack');constpath=require('path');module.exports={entry:{mainFeedPage:['webpack/hot/only-dev-server','./src/mainFeedPage.js'],venues:['webpack/hot/only-dev-server','./src/venues.js'],artists:['webpack/h