当前位置: 首页 > 面试题库 >

将用户输入字符串转换为正则表达式

李烨
2023-03-14
问题内容

我正在设计HTML和JavaScript中的正则表达式测试器。用户将输入一个正则表达式,一个字符串,并通过单选按钮选择要测试的函数(例如,搜索,匹配,替换等),并且当该函数以指定的参数运行时,程序将显示结果。自然地,会有额外的文本框来替换额外的参数。

我的问题是从用户那里获取字符串并将其转换为正则表达式。如果我说他们不需要//在输入的正则表达式中包含,则他们不能设置标志,例如gi。因此,它们必须//在表达式周围包含,但是如何将字符串转换为正则表达式?它不能是文字,因为它是一个字符串,我不能将其传递给RegExp构造函数,因为它不是没有//s
的字符串。还有其他方法可以使用户输入字符串进入正则表达式吗?我是否必须使用来解析regex的字符串和标志,//然后以其他方式构造它?我应该让他们输入一个字符串,然后分别输入标志吗?


问题答案:

使用RegExp对象构造函数从字符串创建正则表达式:

var re = new RegExp("a|b", "i");
// same as
var re = /a|b/i;


 类似资料:
  • 我目前正在研究当用户输入一个字符串时,那么我的程序将根据输入的字符串返回搜索结果。(本例中为ca) 在下面的代码中,我只设法使我的程序返回所有只包含小写“ca”的结果。 但是,我想在返回搜索结果时仍然执行“包含”正则表达式的同时,将“ca”转换为所有上例。这意味着,无论"ca"或"CA"的情况下,所有conatins"CA"的结果将被返回。 我可以知道我应该如何修改下面的代码吗?提前谢谢。

  • 我在一个多语言网站上工作,并已选择使用每种语言的自定义URL,例如: 两者都指向城市控制员的指数方法。 在每个页面上都有一个切换语言的选项,它会在我的路由中查找以匹配控制器、视图和语言。 因此,如果我在荷兰语页面上,它会找到英文版的正确网址,即“城市”而不是“steden”。 在我开始使用更复杂的正则表达式之前,一切都很好。 我有这些正则表达式,它们将匹配我所需的URL: 在我的代码中,我可以访问

  • 我想使用Gson将字符串转换为Foo对象: 下面是我的正则表达式: 如何使用此正则表达式将所有,.和替换为,,而不更改JSON中的键和值?

  • 问题内容: 我目前正在将Web应用程序代码从PHP移植到JS。 我对此正则表达式有疑问。从PHP 这样使用 如何将其转换为在JS上工作? 先感谢您 问题答案: 没什么特别的。PHP regex语法与JavaScript中的语法非常相似: 您可以从 MDN的 本手册中找到有关JavaScript 中正 则表达式的更多信息:https : //developer.mozilla.org/en- US/

  • 我试图将js代码转换为java版本,但对正则表达式有点困惑:在js中,我有一个类似于:testString的表达式。拆分(“/(\w*\d)/g”) 我可以在java中使用什么等效语言?我试着用匹配器得到同样的结果。find()和split函数,但结果不一样。

  • 问题内容: 我正在尝试使用正则表达式替换字符串中所有出现的英国汽车登记信息。 当字符串与以下正则表达式完全匹配时,以下swift代码可完美地用于a。 结果是 但是,以下操作无效,并且字符串未修改 结果是 谁能给我任何指示? 问题答案: 您需要删除和锚点。 该装置 开始字符串 和手段 结束字符串 (或行,这取决于选项)。这就是第一个示例起作用的原因:在第一个测试字符串中,字符串的开头实际上是您的模式