Regex只存储在string-js中找到的一个匹配元素
Regex to store only one matching element found in a string-js
我可能会问一个愚蠢的任务,但我真的很想知道是否有一个正则表达式只从字符串中获得第一个匹配的字母?如:
var string = "abcdaeee";
var value = 'a';
值和字符串字段是动态的,因此它们可以变化。在上述情况下,我愿意只获得字符串中var 'value'(即'a')的第一个匹配字母。我现在有这个regex:
regex = new RegExp("(" + value + ")", "i");
string.match(regex)
可以改成:o/p: a,a
string.match(someValidRegex)// to o/p: a
但是这个从字符串中得到所有匹配的a。是否有一种方法在regex中仅显示匹配元素的第一次出现?["a"]
谢谢!
抱歉,这是第一个不使用正则表达式的匹配字母的解决方案
如果你只想得到一个字符串的第一个匹配的字母,我认为regex有点过分了。
function getFirstMatchedLetter(str,letter){
var letterPosition = str.search(letter);
return str.charAt(letterPosition);
}
getFirstMatchedLetter("hello","l");
或者,如果可能的话,您可以使用两个正则表达式。一个用于提取字符串,另一个用于解析提取的字符串以获取您的字符或其他内容。
var str = "blah blah blah something blah blah blah";
var matched = str.match(/something/);
var character_matched = matched[0].match(/e/);
变量character_matched
现在应该包含您的字母。您可以更改var matched
行中的"something"和var character_matched
行中的"e"以满足您的需要。然而,我的问题是:您提取特定单词/字符串中的字符是为了什么?
另外,如果你匹配一个正则表达式不止一次,检查你是否打开了全局变量
另外:
var str = "hello";
var letter = "p";
var exists = str.search(letter);
if (exists != -1)
{
# character is in the string, do something
}
else
{
# character not in string, do something else
}
相关文章:
- 使用clickToggle并在单击另一个元素时关闭元素
- 表追加而不附加最后一个元素
- 滚动到容器中的下一个元素-几乎到了
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 按我自己的类克隆另一个元素的内容和顺序
- Javascript获取上一个元素的内容
- 如何通过HTML+CSS中的另一个元素Selector更改元素的属性值
- 在数组中的一个元素上设置多个值
- 无法选择除一个元素外的所有元素
- 使用jquery contains获取一个元素并添加类
- $(.class).empty总是缺少一个元素
- jQuery-将列表项的一个元素移动到同一项的另一个元素中+对我的列表中的每个项执行此操作
- 如何在一个元素动画之后延迟
- jQuery转盘下一个元素没有滑入
- jquery从另一个元素中移除移除
- DIV怎么能像Javascript中的另一个元素一样工作呢
- 当知道同一hiearch中至少有一个元素时,遍历到元素.结构使用jquery
- 使用数据属性将HTML数据复制到另一个元素
- 如何选择给定类的上一个元素
- 动态修改一个元素,使其与给定的选择器匹配