regex - JavaScript Split Regular Expression keep the delimiter - Stack Overflow

Using JavaScript I'm trying to split a paragraph into it's sentences using regular expression

Using JavaScript I'm trying to split a paragraph into it's sentences using regular expressions. My regular expression doesn't account for a sentence being inside brackets and I would like to keep the delimiter.

I've put an example of the code in jsFiddle here

Using JavaScript I'm trying to split a paragraph into it's sentences using regular expressions. My regular expression doesn't account for a sentence being inside brackets and I would like to keep the delimiter.

I've put an example of the code in jsFiddle here

Share Improve this question edited Jun 27, 2012 at 15:50 pb2q 59.7k19 gold badges150 silver badges152 bronze badges asked Jun 27, 2012 at 15:46 Mike MengellMike Mengell 2,3982 gold badges21 silver badges35 bronze badges 1
  • Does this answer your question? Javascript and regex: split string and keep the separator – Liam Commented May 12, 2023 at 11:35
Add a ment  | 

3 Answers 3

Reset to default 4

I took the match approach rather than split. It could be tighter (e.g. what if a sentence ends with ..., etc).

text.match(/\(?[A-Z][^\.]+[\.!\?]\)?(\s+|$)/g);

http://jsfiddle/DepKF/1/

@Utkanos You idea is good, but I think replace may better:

text.replace(/\(?[A-Z][^\.]+[\.!\?]\)?/g, function (sentence) {
    output += '<p>'+ sentence + '</p>';
});

http://jsfiddle/juGT7/1/

You no need to loop again.

use the (?=pattern) lookahead pattern in the regex example

var string = '500x500-11*90~1+1';
string = string.replace(/(?=[$-/:-?{-~!"^_`\[\]])/gi, ",");
string = string.split(",");

this will give you the following result.

[ '500x500', '-11', '*90', '~1', '+1' ]

Can also be directly split

string = string.split(/(?=[$-/:-?{-~!"^_`\[\]])/gi);

giving the same result

[ '500x500', '-11', '*90', '~1', '+1' ]

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744782416a4593418.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信