Question: **Here is my SessionController**

```
 public function store()
{
    //Attempt to authenticate user
    if(! auth()->attempt(request(['email', 'password']))){
        return back();
    }

    return redirect()->home();
}

```

Password populated with plain text, and am inputting correct email and password, but its not logging me in :(

**here is my route**

```
    Route::get('/login','SessionController@create');
    Route::post('/login','SessionController@store');

    Looking forward for your respected answers and comment.

```

Answer: 
My solution has evolved a bit as I have gotten additional help with this. So, this is now my best solution but still a bit lacking. I have not been able to accept "as-is" while rejecting "-this-" and a similar case of accept "and/or" while rejecting "/slash/". Also for simplicity I have made the input data single word per line.

^(?:[\p{P}\p{S}])*?((?:[\p{L}\p{Pd}'])+)(?:[\p{P}\p{S}])*$

as-is is picked valid
-this- is valid but I wish it weren't
and/or is not valid but I wish it would be picked
/slash/ "slash" is picked valid
(test) "test" is picked valid
[test] "test" is picked valid
<test> "test" is picked valid
You could use look behind and look ahead to check there is no `#`. 

```
\b(?<!\#)[a-zA-Z]+(?!\#)\b

```