正则表达式:匹配未被其他字母包围的单词,并且仅在结果中包含该单词

时间:2017-10-13 13:04:35

标签: javascript regex

这是我目前的正则表达式:import UIKit class ViewController: UIViewController { @IBOutlet weak var tableView: UITableView! var account = [Account]() @IBAction func onAddAccount(_ sender: Any) { self.tableView.reloadData() print("RELOADED") } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } @IBAction func onBlank() { self.tableView.reloadData() } } extension ViewController: UITableViewDataSource { func numberOfSections(in tableView: UITableView) -> Int { return 1 } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return account.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = UITableViewCell(style: .subtitle, reuseIdentifier: nil) cell.textLabel?.text = account[indexPath.row].email cell.detailTextLabel?.text = account[indexPath.row].password return cell } }

这是我的匹配测试:

/[Hh][Ee][Ll][Ll][Oo](?![A-Za-z0-9\-])(?![^<]*>)/g

我目前的正则表达式也匹配hello helloa ahello <hello> ^^^^^ !!!!!! Should match ^^^^^ only 。我创建了一个看起来像这样的正则表达式:!!!!!但javascript中不支持lookbehinds,所以我不知道该怎么做。

编辑:我认为发布项目会有所帮助,所以this is what I'm working on.

1 个答案:

答案 0 :(得分:1)

在这里,我搜索hello,它必须在任一侧或字符串的开头或结尾至少有一个空白字符。

所以在我的例子中我添加了一些额外的问候,只是测试一下开始&amp;行尾也是。

&#13;
&#13;
var re = /(^|\s)(hello)(\s|$)/g;

var str = 'hello helloa ahello hello <hello> hello';

console.log(str.replace(re, "$1!!$2!!$3"));
&#13;
&#13;
&#13;