相关疑难解决方法(0)

如何从字符串中删除电子邮件地址?

所以,我有一个字符串,我想删除它的电子邮件地址,如果有的话.

例如:

这是一些文字,它会继续这样,
直到有时电子邮件地址显示为asd@asd.com

还有一些文字在这里和这里.

结果我想要这个.

这是一些文字,它会继续这样,
直到有时电子邮件地址出现[email_removed]

还有一些文字在这里和这里.

cleanFromEmail(string)
{
    newWordString = 
    space := a_space
    Needle = @
    wordArray := StrSplit(string, [" ", "`n"])
    Loop % wordArray.MaxIndex()
    {

        thisWord := wordArray[A_Index]


        IfInString, thisWord, %Needle%
        {
            newWordString = %newWordString%%space%(email_removed)%space%
        }
        else
        {
            newWordString = %newWordString%%space%%thisWord%%space%
            ;msgbox asd
        }
    }

    return newWordString
}
Run Code Online (Sandbox Code Playgroud)

这个问题是我最终失去了所有换行符并且只获得了空格.如何在重新删除电子邮件地址之前重新构建字符串?

regex autohotkey

5
推荐指数
1
解决办法
143
查看次数

电子邮件地址的正确正则表达式是什么?

重复:使用正则表达式验证电子邮件地址


网上似乎有很多不同的变种,并且想知道是否有明确的答案?

最好使用正则表达式的.net(正则表达式)方言.

regex email

4
推荐指数
1
解决办法
1万
查看次数

电子邮件验证:将用PHP(preg)编写的正则表达式转换为.NET(Regex)

基于此答案... 使用正则表达式验证电子邮件地址

这导致我到这个网站... http://fightingforalostcause.net/misc/2006/compare-email-regex.php

我想将此正则表达式用于我的ASP.NET MVC应用程序的电子邮件验证:

/^[-_a-z0-9\'+*$^&%=~!?{}]++(?:\.[-_a-z0-9\'+*$^&%=~!?{}]+)*+@(?:(?![-.])[-a-z0-9.]+(?<![-.])\.[a-z]{2,6}|\d{1,3}(?:\.\d{1,3}){3})(?::\d++)?$/iD
Run Code Online (Sandbox Code Playgroud)

不幸的是,我收到了这个错误

System.ArgumentException未被用户代码Message ="parsing \"/ ^ [-_ a-z0-9 \'+ $ ^&%=〜!?{}] ++(?:\.[-_ a-z0- 9 \'+ $ ^&%=〜!?{}] +)*+ @(?:(?![ - .])[ - a-z0-9.] +(?

有没有人曾经将它转换为可以被.NET的Regex类使用,或者是否有另一个.NET正则表达式类更适合PHP的preg_match功能?

.net php c# regex asp.net

4
推荐指数
1
解决办法
1596
查看次数

如何使用qregexp验证电子邮件地址

我需要验证在qlineedit中输入的文本是否具有regexp的形式,我试图使用它:

void MainWindow::checkReg( QLineEdit& mail, const QCheckBox& skip, string type )
{
    if(type == "mail")
    {
        if( skip.checkState() != 2)
        {
            QRegExp mailREX("\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b");

            mailREX.setCaseSensitivity(Qt::CaseInsensitive);

            mailREX.setPatternSyntax(QRegExp::Wildcard);

            bool regMat = mailREX.exactMatch(mail.text());

            if(regMat == false)
            {
                QMessageBox *message = new QMessageBox(this);
                message->setWindowModality(Qt::NonModal);
                message->setText("Inserte los datos en el formato correcto");
                message->setStandardButtons(QMessageBox::Ok);
                message->setWindowTitle("MainWindow");
                message->setIcon(QMessageBox::Information);
                message->exec();

                this->ok = 0;

                mail.clear();
            }
            else
                this->ok = 1;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我输入的每封邮件都像me@me.com一样,出现错误信息.我也试过用

int regMat = mailREX.indexIn(mail.text());
Run Code Online (Sandbox Code Playgroud)

它没有用.

提前致谢

c++ qt

4
推荐指数
2
解决办法
9223
查看次数

iOS电子邮件地址验证

我有一个表单,我想要做的是在将电子邮件地址插入我的数据库之前验证它们.我已经阅读过多篇帖子,但没有一篇能解决我的问题.

这是我到目前为止的代码.

-(BOOL) validEmail:(NSString*) emailString {
    NSString *regExPattern = @"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?";  

    NSRegularExpression *regEx = [[NSRegularExpression alloc] initWithPattern:regExPattern options:NSRegularExpressionCaseInsensitive error:nil];

    NSUInteger regExMatches = [regEx numberOfMatchesInString:emailString options:0 range:NSMakeRange(0, [emailString length])];

    if (regExMatches == 0) {
        return NO;
    } else
        return YES;
}
Run Code Online (Sandbox Code Playgroud)

正则表达式几乎匹配每个电子邮件地址,但是当地址格式为abc,def @ gmail.com时,它无法将其作为无效地址捕获.它不会拿起逗号.

任何人有任何想法,我出错了?谢谢

regex ios nsregularexpression ios6

4
推荐指数
3
解决办法
1万
查看次数

在Python中解析电子邮件消息的"发件人:"字段

我试图将电子邮件中符合RFC 5322的 "发件人:"字段解析为两部分:显示名称和电子邮件地址,在Python 2.7中(显示名称可能为空).熟悉的例子是这样的

John Smith <jsmith@example.org>
Run Code Online (Sandbox Code Playgroud)

在上面,John Smith是显示名称,jsmith @ example.org是电子邮件地址.但以下也是一个有效的"发件人:"字段:

"unusual" <"very.(),:;<>[]\".VERY.\"very@\\ \"very\".unusual"@strange.example.com>
Run Code Online (Sandbox Code Playgroud)

在此示例中,display-name的返回值为

"unusual" 
Run Code Online (Sandbox Code Playgroud)

"very.(),:;<>[]\".VERY.\"very@\\ \"very\".unusual"@strange.example.com
Run Code Online (Sandbox Code Playgroud)

是电子邮件地址.

您可以使用语法在Perl中解析它(如以下问题中所述:使用正则表达式验证电子邮件地址"现代" 正则表达式的识别能力),但我想在Python 2.7中执行此操作.我曾尝试在Python中使用email.parser模块,但该模块似乎只能分隔那些以冒号区分的字段.所以,如果你做的事情

from email.parser import Parser
headers = Parser().parsestr('From: "John Smith" <jsmith@example.org>')
print headers['from'] 
Run Code Online (Sandbox Code Playgroud)

它会回来

"John Smith" <jsmith@example.com> 
Run Code Online (Sandbox Code Playgroud)

而如果你用上面的代码替换最后一行

print headers['display-name']
Run Code Online (Sandbox Code Playgroud)

它会回来

None
Run Code Online (Sandbox Code Playgroud)

我非常感谢任何建议和意见.

python email

4
推荐指数
1
解决办法
1377
查看次数

用于电子邮件验证的正则表达式的java代码

我尝试在没有java中的正则表达式的情况下模拟电子邮件验证并编写此代码.我需要帮助来提高此代码的效率(或者请给我一个更好的方法来解决这个问题)

正则表达式: ^[(a-zA-Z-0-9-\\_\\+\\.)]+@[(a-z-A-z)]+\\.[(a-zA-z)]{2,3}$

public static boolean isValidEmailAddress(String email) {

    boolean flag1 = false;
    boolean flag2=false;
    boolean flag3=false;
    int j=0;
    char[] emailChars = email.toCharArray();
    for (int i = 0; i < emailChars.length;) {
        char c = emailChars[i];
        if (Character.isLetterOrDigit(c)) {
                i++;
            if(flag1==true&&flag2==true){
                j++;
            }
        } else if (c == '@' && flag1==false&&flag2==false && flag3==false) {
            i++;
            flag1=true;
        } else if(c=='.' && flag1==true && flag2==false&&flag3==false){
            i++;
            flag2 = true;
        }
        if(j==2 || j==3){
            flag3=true;
        }
    }
    return flag1&&flag2&&flag3;

}
Run Code Online (Sandbox Code Playgroud)

java regex

4
推荐指数
1
解决办法
2万
查看次数

从字符串中提取以特定字符开头的单词

我得到以下字符串:

 String line = "#food was testy. #drink lots of. #night was fab. #three #four";
Run Code Online (Sandbox Code Playgroud)

我想借此#food #drink #night #three#four从它.

我试过这段代码:

    String[] words = line.split("#");
    for (String word: words) {
        System.out.println(word);
    }
Run Code Online (Sandbox Code Playgroud)

但它给food was testy,drink lots of,nigth was fab,threefour.

java string extraction

4
推荐指数
1
解决办法
9770
查看次数

Python正则表达式从字符串中删除电子邮件

需要替换字符串中的电子邮件,因此:

inp = 'abc user@xxx.com 123 any@www foo @ bar 78@ppp @5555 aa@111"
Run Code Online (Sandbox Code Playgroud)

应该导致:

out = 'abc 123 foo bar"
Run Code Online (Sandbox Code Playgroud)

什么正则表达式使用?

In [148]: e = '[^\@]\@[^\@]'
In [149]: pattern = re.compile(e)
In [150]: pattern.sub('', s)  
Out[150]: 'one aom 123 4two'
In [151]: s
Out[151]: 'one ab@com 123 4 @ two'
Run Code Online (Sandbox Code Playgroud)

对我不起作用

python regex

4
推荐指数
1
解决办法
5580
查看次数

powershell从正文中获取特定行

我在从 powershell 主体获取特定行时遇到一些问题。人力资源团队向我们发送电子邮件,逻辑应用程序获取电子邮件正文并将其传递给禁用用户的脚本。

本体是这样的:

Hi,

the following user have to be dismiss:

#mail: user1@mycompany.com
#mail: user2@mycompany.com
#mail: user2@mycompany.com


Bye
hr team

hrteam@mycompany.com
 
Run Code Online (Sandbox Code Playgroud)

我只想获取特定行:

    #mail: user1@mycompany.com
    #mail: user2@mycompany.com
    #mail: user2@mycompany.com
Run Code Online (Sandbox Code Playgroud)

为此,我用以下代码做了一个技巧:

    $Body
    $SplitBody = $Body.split("").split(" ").Split("#")
    $objetbody = $SplitBody.Replace(" ","").Trim()
Run Code Online (Sandbox Code Playgroud)

我得到以下结果:

Hi,
the
following
user
have
to
be
dismiss:

mail:
user1@mycompany.com

mail:
user2@mycompany.com

mail:
user2@mycompany.com
Bye
hr
team
hrteam@mycompany.com
Run Code Online (Sandbox Code Playgroud)

之后,我将 $objetbody 传递到 foreach 并循环所有行(在该 foreach 的末尾放置一个中断,因为它可以禁用 HR 邮件)。如果 HR 仅发送 1 封邮件即可禁用该流程。

我的问题是有没有办法获取包含邮件的特定行?

谢谢

powershell

4
推荐指数
1
解决办法
406
查看次数

标签 统计

regex ×6

email ×2

java ×2

python ×2

.net ×1

asp.net ×1

autohotkey ×1

c# ×1

c++ ×1

extraction ×1

ios ×1

ios6 ×1

nsregularexpression ×1

php ×1

powershell ×1

qt ×1

string ×1