电子邮件地址的正则表达式不以

时间:2017-06-07 01:04:27

标签: ruby regex regex-negation

我想在ruby中使用正则表达式来捕获纯文本电子邮件地址,但不要使用mailto链接标记包围的电子邮件地址(例如<a href="" class="" >a@b.com</a>),尝试source.gsub(/(?!<$)[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/i)但是这不起作用

1 个答案:

答案 0 :(得分:0)

// variable // ----------------------------------------------------------------------------- var gulp = require('gulp'); var sass = require('gulp-sass'); var browserSync = require('browser-sync').create(); // task // ----------------------------------------------------------------------------- gulp.task('styles', function() { return gulp.src([ './src/assets/styles/*.scss' ], { base: './src/assets/styles/' }) .pipe(sass().on('error', sass.logError)) .pipe(gulp.dest('./dist/assets/styles/')) .pipe(browserSync.stream()); }); gulp.task('browserSync', function() { browserSync.init({ server: { baseDir: './dist/' } }); gulp.watch('./dist/*.html').on('change', browserSync.reload); gulp.watch('./src/assets/styles/**/*.scss', ['styles']); gulp.watch('./dist/assets/scripts/*.js').on('change', browserSync.reload); });

类似于/(\w+@[\w.-]+|\{(?:\w+, *)+\w+\}@[\w.-])(?!<\/a>)*$/i

这是正则表达式声明,我冒昧地使用了不同的电子邮件选择器。

source.gsub(/(\w+@[\w.-]+|\{(?:\w+, *)+\w+\}@[\w.-])(?!<\/a>)*$/i)基本上会在(?!<\/a>)*$结束时忽略它。如果您希望每行/文档有多个电子邮件地址,那么首先过滤掉任何</a>代码可能会更有效。