I am using the following regex to exclude spam sites: (social\-buttons\.com|darodar\.com|free\-share\-buttons\.com|buy\-cheap\-online\.info|Get\-Free\-Traffic\-Now\.com|hol\.es|hulfingtonpost\.com|googlsucks\.com)When I added a Segment with this filter, I get the desired results. However, when I created a View with a Filter, it didn't filter buy-cheap-online.info. I suspect that as the days go on, it will not filter the other sites. (I understand that Filters are not applied retroactively.)Why doesn't the same regex work in both Segments and Filters? 
Why does the same regex work in Google Analytics Segments but not Filters?
google;google analytics;analytics;filtering;advanced segments
Your expression should work fine on both is strange that it doesn't for filters. I tested here https://regex101.com/Probably the filter hasn't started working yet. Filters may take up to 24hrs for start showing in your stats https://support.google.com/analytics/answer/6046990?hl=enGA allows simpler syntax for basic expression, dots and hyphens don't need to be escaped you can write your expression like thissocial-buttons.com|darodar.com|free-share-buttons.com|buy-cheap-online.info|Get-Free-Traffic-Now.com|hol.es|hulfingtonpost.com|googlsucks.comIt will work the same and save you some charactersUPDATE: This Expression should be used with Campaign source on the Field type. More information here:https://stackoverflow.com/a/28354319/3197362